104 lines
1.5 KiB
Plaintext
104 lines
1.5 KiB
Plaintext
namespace clice.index.binary;
|
|
|
|
struct Range {
|
|
begin: uint;
|
|
end: uint;
|
|
}
|
|
|
|
struct Occurrence {
|
|
range: Range;
|
|
target: ulong;
|
|
}
|
|
|
|
struct Relation {
|
|
kind: uint;
|
|
padding: uint;
|
|
range: Range;
|
|
target_symbol: ulong;
|
|
}
|
|
|
|
table CacheEntry {
|
|
sha256: string;
|
|
canonical_id: uint;
|
|
}
|
|
|
|
struct IncludeContext {
|
|
include_id: uint;
|
|
canonical_id: uint;
|
|
}
|
|
|
|
table HeaderContextEntry {
|
|
path_id: uint;
|
|
version: uint;
|
|
includes: [IncludeContext];
|
|
}
|
|
|
|
struct IncludeLocation {
|
|
path_id: uint;
|
|
line: uint;
|
|
include_id: uint;
|
|
}
|
|
|
|
table CompilationContextEntry {
|
|
path_id: uint;
|
|
version: uint;
|
|
canonical_id: uint;
|
|
build_at: ulong;
|
|
include_locations: [IncludeLocation];
|
|
}
|
|
|
|
table OccurrenceEntry {
|
|
occurrence: Occurrence;
|
|
context: [ubyte];
|
|
}
|
|
|
|
table RelationEntry {
|
|
relation: Relation;
|
|
context: [ubyte];
|
|
}
|
|
|
|
table SymbolRelationsEntry {
|
|
symbol: ulong;
|
|
relations: [RelationEntry];
|
|
}
|
|
|
|
table Symbol {
|
|
kind: ubyte;
|
|
refs: [ubyte];
|
|
}
|
|
|
|
table SymbolEntry {
|
|
symbol_id: ulong;
|
|
symbol: Symbol;
|
|
}
|
|
|
|
table MergedIndex {
|
|
max_canonical_id: uint;
|
|
|
|
canonical_cache: [CacheEntry];
|
|
|
|
header_contexts: [HeaderContextEntry];
|
|
|
|
compilation_contexts: [CompilationContextEntry];
|
|
|
|
occurrences: [OccurrenceEntry];
|
|
|
|
relations: [SymbolRelationsEntry];
|
|
}
|
|
|
|
table PathEntry {
|
|
path: string;
|
|
id: uint;
|
|
}
|
|
|
|
struct PathMapEntry {
|
|
source: uint;
|
|
index: uint;
|
|
}
|
|
|
|
table ProjectIndex {
|
|
paths: [PathEntry];
|
|
indices: [PathMapEntry];
|
|
symbols: [SymbolEntry];
|
|
}
|