forked from mikael-s-persson/templight
-
Notifications
You must be signed in to change notification settings - Fork 0
/
templight_messages.proto
71 lines (62 loc) · 1.67 KB
/
templight_messages.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
message TemplightHeader {
required uint32 version = 1;
optional string source_file = 2;
}
message TemplightEntry {
enum InstantiationKind {
TemplateInstantiation = 0;
DefaultTemplateArgumentInstantiation = 1;
DefaultFunctionArgumentInstantiation = 2;
ExplicitTemplateArgumentSubstitution = 3;
DeducedTemplateArgumentSubstitution = 4;
PriorTemplateArgumentSubstitution = 5;
DefaultTemplateArgumentChecking = 6;
ExceptionSpecInstantiation = 7;
Memoization = 8;
}
message TemplateName {
// oneof rep {
// string name = 1;
// bytes compressed_name = 2;
// }
optional string name = 1;
optional bytes compressed_name = 2;
optional uint32 dict_id = 3;
}
message SourceLocation {
optional string file_name = 1;
required uint32 file_id = 2;
required uint32 line = 3;
optional uint32 column = 4;
}
message Begin {
required InstantiationKind kind = 1;
required TemplateName name = 2;
required SourceLocation location = 3;
optional double time_stamp = 4;
optional uint64 memory_usage = 5;
optional SourceLocation template_origin = 6;
}
message End {
optional double time_stamp = 1;
optional uint64 memory_usage = 2;
}
// oneof begin_or_end {
// Begin begin = 1;
// End end = 2;
// }
optional Begin begin = 1;
optional End end = 2;
}
message DictionaryEntry {
required string marked_name = 1;
repeated uint32 marker_ids = 2;
}
message TemplightTrace {
required TemplightHeader header = 1;
repeated TemplightEntry entries = 2;
repeated DictionaryEntry names = 3;
}
message TemplightTraceCollection {
repeated TemplightTrace traces = 1;
}