C++程序  |  245行  |  4.84 KB

classes {
  fields {
    field_name: "foo_again"
    field_type: "std::unique_ptr<test2::HelloAgain, std::default_delete<test2::HelloAgain> >"
    access: "public"
  }
  fields {
    field_name: "bar_again"
    field_type: "int"
    access: "public"
  }
  fully_qualified_name: "test2::HelloAgain"
  source_file: "./input/example2.h"
  access: "public"
}
classes {
  fields {
    field_name: "foo_again"
    field_type: "T"
    access: "public"
  }
  fields {
    field_name: "bar_again"
    field_type: "int"
    access: "public"
  }
  fully_qualified_name: "test3::ByeAgain"
  source_file: "./input/example2.h"
  access: "public"
}
classes {
  fields {
    field_name: "foo_again"
    field_type: "double"
    access: "public"
  }
  fields {
    field_name: "bar_again"
    field_type: "int"
    access: "public"
  }
  fully_qualified_name: "test3::ByeAgain"
  source_file: "./input/example2.h"
  template_info {
    template_parameters {
      field_type: "double"
    }
  }
  access: "public"
}
classes {
  fields {
    field_name: "foo_again"
    field_type: "float"
    access: "public"
  }
  fields {
    field_name: "bar_Again"
    field_type: "float"
    access: "public"
  }
  fully_qualified_name: "test3::ByeAgain"
  source_file: "./input/example2.h"
  template_info {
    template_parameters {
      field_type: "float"
    }
  }
  access: "public"
}
classes {
  fields {
    field_name: "a"
    field_type: "int"
    access: "public"
  }
  fully_qualified_name: "test3::Outer"
  source_file: "./input/example2.h"
  access: "public"
}
classes {
  fields {
    field_name: "b"
    field_type: "int"
    access: "private"
  }
  fully_qualified_name: "test3::Outer::Inner"
  source_file: "./input/example2.h"
  access: "private"
}
functions {
  function_name: "test3::ByeAgain::method_foo"
  mangled_function_name: "method_foo_ZN5test38ByeAgain10method_fooET_"
  source_file: "./input/example2.h"
  parameters {
    field_name: ""
    field_type: "T"
    default_arg: false
  }
  return_type: "T"
  access: "public"
  template_kind: 0
}
functions {
  function_name: "test3::ByeAgain<double>::method_foo"
  mangled_function_name: "method_foo_ZN5test38ByeAgainIdE10method_fooEd"
  source_file: "./input/example2.h"
  parameters {
    field_name: ""
    field_type: "double"
    default_arg: false
  }
  return_type: "double"
  access: "public"
  template_kind: 2
}
functions {
  function_name: "test3::ByeAgain<float>::method_foo"
  mangled_function_name: "method_foo_ZN5test38ByeAgainIfE10method_fooEi"
  source_file: "./input/example2.h"
  parameters {
    field_name: ""
    field_type: "int"
    default_arg: false
  }
  return_type: "float"
  access: "public"
  template_kind: 0
}
functions {
  function_name: "test3::Begin"
  mangled_function_name: "Begin_ZN5test35BeginET_T0_"
  source_file: "./input/example2.h"
  parameters {
    field_name: "arg1"
    field_type: "T1"
    default_arg: false
  }
  parameters {
    field_name: "arg2"
    field_type: "T2"
    default_arg: false
  }
  return_type: "bool"
  access: "public"
  template_kind: 1
  template_info {
    template_parameters {
      field_name: "T1"
    }
    template_parameters {
      field_name: "T2"
    }
  }
}
functions {
  function_name: "test3::Begin"
  mangled_function_name: "Begin_ZN5test35BeginIfiEEbT_T0_"
  source_file: "./input/example2.h"
  parameters {
    field_name: "arg1"
    field_type: "float"
    default_arg: false
  }
  parameters {
    field_name: "arg2"
    field_type: "int"
    default_arg: false
  }
  return_type: "bool"
  access: "public"
  template_kind: 3
  template_info {
    template_parameters {
      field_type: "float"
    }
    template_parameters {
      field_type: "int"
    }
  }
}
functions {
  function_name: "test3::Begin"
  mangled_function_name: "Begin_ZN5test35BeginIifEEbT_T0_"
  source_file: "./input/example2.h"
  parameters {
    field_name: "a"
    field_type: "int"
    default_arg: false
  }
  parameters {
    field_name: "b"
    field_type: "float"
    default_arg: false
  }
  return_type: "bool"
  access: "public"
  template_kind: 3
  template_info {
    template_parameters {
      field_type: "int"
    }
    template_parameters {
      field_type: "float"
    }
  }
}
functions {
  function_name: "test3::End"
  mangled_function_name: "End_ZN5test33EndEf"
  source_file: "./input/example2.h"
  parameters {
    field_name: "arg"
    field_type: "float"
    default_arg: true
  }
  return_type: "bool"
  access: "public"
  template_kind: 0
}
enums {
  enum_name: "Foo_s"
  enum_type: "unsigned int"
  enum_fields {
    enum_field_name: "Foo_s::foosball"
    enum_field_value: 10
  }
  enum_fields {
    enum_field_name: "Foo_s::foosbat"
    enum_field_value: 11
  }
}
enums {
  enum_name: "test3::Kind"
  enum_type: "unsigned int"
  enum_fields {
    enum_field_name: "test3::Kind::kind1"
    enum_field_value: 24
  }
  enum_fields {
    enum_field_name: "test3::Kind::kind2"
    enum_field_value: 2312
  }
}