37 #ifndef GOOGLE_PROTOBUF_IO_PRINTER_H__ 38 #define GOOGLE_PROTOBUF_IO_PRINTER_H__ 49 class ZeroCopyOutputStream;
56 virtual void AddAnnotation(
size_t begin_offset,
size_t end_offset,
57 const string& file_path,
58 const vector<int>&
path) = 0;
66 template <
typename AnnotationProto>
72 : annotation_proto_(annotation_proto) {}
76 const string& file_path,
const vector<int>&
path) {
77 typename AnnotationProto::Annotation* annotation =
78 annotation_proto_->add_annotation();
79 for (
int i = 0;
i < path.size(); ++
i) {
80 annotation->add_path(path[
i]);
82 annotation->set_source_file(file_path);
83 annotation->set_begin(begin_offset);
84 annotation->set_end(end_offset);
89 AnnotationProto*
const annotation_proto_;
181 template <
typename SomeDescriptor>
183 Annotate(varname, varname, descriptor);
190 template <
typename SomeDescriptor>
191 void Annotate(
const char* begin_varname,
const char* end_varname,
193 if (annotation_collector_ ==
NULL) {
199 descriptor->GetLocationPath(&path);
200 Annotate(begin_varname, end_varname, descriptor->file()->name(),
path);
208 void Print(
const map<string, string>& variables,
const char*
text);
211 void Print(
const char* text);
213 void Print(
const char* text,
const char* variable,
const string&
value);
215 void Print(
const char* text,
const char* variable1,
const string& value1,
216 const char* variable2,
const string& value2);
218 void Print(
const char* text,
const char* variable1,
const string& value1,
219 const char* variable2,
const string& value2,
220 const char* variable3,
const string& value3);
222 void Print(
const char* text,
const char* variable1,
const string& value1,
223 const char* variable2,
const string& value2,
224 const char* variable3,
const string& value3,
225 const char* variable4,
const string& value4);
227 void Print(
const char* text,
const char* variable1,
const string& value1,
228 const char* variable2,
const string& value2,
229 const char* variable3,
const string& value3,
230 const char* variable4,
const string& value4,
231 const char* variable5,
const string& value5);
233 void Print(
const char* text,
const char* variable1,
const string& value1,
234 const char* variable2,
const string& value2,
235 const char* variable3,
const string& value3,
236 const char* variable4,
const string& value4,
237 const char* variable5,
const string& value5,
238 const char* variable6,
const string& value6);
240 void Print(
const char* text,
const char* variable1,
const string& value1,
241 const char* variable2,
const string& value2,
242 const char* variable3,
const string& value3,
243 const char* variable4,
const string& value4,
244 const char* variable5,
const string& value5,
245 const char* variable6,
const string& value6,
246 const char* variable7,
const string& value7);
248 void Print(
const char* text,
const char* variable1,
const string& value1,
249 const char* variable2,
const string& value2,
250 const char* variable3,
const string& value3,
251 const char* variable4,
const string& value4,
252 const char* variable5,
const string& value5,
253 const char* variable6,
const string& value6,
254 const char* variable7,
const string& value7,
255 const char* variable8,
const string& value8);
268 void PrintRaw(
const string&
data);
272 void PrintRaw(
const char* data);
276 void WriteRaw(
const char* data,
int size);
290 void Annotate(
const char* begin_varname,
const char* end_varname,
291 const string& file_path,
const vector<int>&
path);
293 const char variable_delimiter_;
304 bool at_start_of_line_;
314 map<string, pair<size_t, size_t> > substitutions_;
320 bool GetSubstitutionRange(
const char* varname, pair<size_t, size_t>*
range);
333 #endif // GOOGLE_PROTOBUF_IO_PRINTER_H__ EGLStreamKHR EGLint EGLint EGLint size
Definition: eglext.h:984
Definition: printer.h:164
Definition: XMLHttpRequest.idl:39
virtual void AddAnnotation(size_t begin_offset, size_t end_offset, const string &file_path, const vector< int > &path)
Definition: printer.h:75
AnnotationProtoCollector(AnnotationProto *annotation_proto)
Definition: printer.h:71
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
Definition: macros.h:40
virtual ~AnnotationCollector()
Definition: printer.h:60
NSMutableData * buffer_
Definition: GPBCodedOutputStream.m:49
path
Definition: generate.py:74
const Descriptor * descriptor
Definition: descriptor.cc:271
void Annotate(const char *varname, const SomeDescriptor *descriptor)
Definition: printer.h:182
Definition: zero_copy_stream.h:181
bool failed() const
Definition: printer.h:281
EGLAttrib * value
Definition: eglext.h:120
Definition: __init__.py:1
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
for i
Definition: complexityMeasures.m:24
#define NULL
Definition: common_types.h:41
void Annotate(const char *begin_varname, const char *end_varname, const SomeDescriptor *descriptor)
Definition: printer.h:191
#define LIBPROTOBUF_EXPORT
Definition: port.h:97
Definition: gflags_completions.h:115
GLenum GLint * range
Definition: gl2.h:450