mirror of
https://github.com/MaskRay/ccls.git
synced 2025-04-16 05:42:17 +00:00
Add TODO to investigate index or import issue
This commit is contained in:
parent
d6123bd861
commit
151505dadf
@ -859,6 +859,7 @@ void QueryDbMainLoop(
|
|||||||
// - start at spelling but end at extent for better mouse tooltip
|
// - start at spelling but end at extent for better mouse tooltip
|
||||||
// - goto declaration while in definition of recursive type
|
// - goto declaration while in definition of recursive type
|
||||||
|
|
||||||
|
// TODO: Goto definition broken on Buffer::CreateSharedBuffer.
|
||||||
optional<QueryableLocation> def_loc = GetDefinitionSpellingOfSymbol(db, ref.idx);
|
optional<QueryableLocation> def_loc = GetDefinitionSpellingOfSymbol(db, ref.idx);
|
||||||
|
|
||||||
// We use spelling start and extent end because this causes vscode
|
// We use spelling start and extent end because this causes vscode
|
||||||
@ -888,7 +889,9 @@ void QueryDbMainLoop(
|
|||||||
|
|
||||||
if (def_loc)
|
if (def_loc)
|
||||||
PushBack(&response.result, GetLsLocation(db, working_files, *def_loc));
|
PushBack(&response.result, GetLsLocation(db, working_files, *def_loc));
|
||||||
break;
|
|
||||||
|
if (!response.result.empty())
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,10 +28,10 @@ using namespace std::experimental;
|
|||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct Id {
|
struct Id {
|
||||||
uint64_t id;
|
size_t id;
|
||||||
|
|
||||||
Id() : id(0) {} // Needed for containers. Do not use directly.
|
Id() : id(0) {} // Needed for containers. Do not use directly.
|
||||||
explicit Id(uint64_t id) : id(id) {}
|
explicit Id(size_t id) : id(id) {}
|
||||||
|
|
||||||
bool operator==(const Id<T>& other) const { return id == other.id; }
|
bool operator==(const Id<T>& other) const { return id == other.id; }
|
||||||
|
|
||||||
|
@ -365,6 +365,7 @@ QueryTypeId IdMap::ToQuery(IndexTypeId id) const {
|
|||||||
return QueryTypeId(cached_type_ids_.find(id.id)->second);
|
return QueryTypeId(cached_type_ids_.find(id.id)->second);
|
||||||
}
|
}
|
||||||
QueryFuncId IdMap::ToQuery(IndexFuncId id) const {
|
QueryFuncId IdMap::ToQuery(IndexFuncId id) const {
|
||||||
|
if (id.id == -1) return QueryFuncId(-1);
|
||||||
assert(cached_func_ids_.find(id.id) != cached_func_ids_.end());
|
assert(cached_func_ids_.find(id.id) != cached_func_ids_.end());
|
||||||
return QueryFuncId(cached_func_ids_.find(id.id)->second);
|
return QueryFuncId(cached_func_ids_.find(id.id)->second);
|
||||||
}
|
}
|
||||||
|
47
tests/multi_file/static.cc
Normal file
47
tests/multi_file/static.cc
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#include "static.h"
|
||||||
|
|
||||||
|
void Buffer::CreateSharedBuffer() {}
|
||||||
|
|
||||||
|
/*
|
||||||
|
OUTPUT: static.h
|
||||||
|
{
|
||||||
|
"types": [{
|
||||||
|
"id": 0,
|
||||||
|
"usr": "c:@S@Buffer",
|
||||||
|
"short_name": "Buffer",
|
||||||
|
"qualified_name": "Buffer",
|
||||||
|
"definition_spelling": "3:8-3:14",
|
||||||
|
"definition_extent": "3:1-5:2",
|
||||||
|
"funcs": [0],
|
||||||
|
"uses": ["*3:8-3:14"]
|
||||||
|
}],
|
||||||
|
"funcs": [{
|
||||||
|
"id": 0,
|
||||||
|
"usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
|
||||||
|
"short_name": "CreateSharedBuffer",
|
||||||
|
"qualified_name": "Buffer::CreateSharedBuffer",
|
||||||
|
"declarations": ["4:15-4:33"],
|
||||||
|
"declaring_type": 0
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT: static.cc
|
||||||
|
{
|
||||||
|
"dependencies": ["C:/Users/jacob/Desktop/superindex/indexer/tests/multi_file/static.h"],
|
||||||
|
"types": [{
|
||||||
|
"id": 0,
|
||||||
|
"usr": "c:@S@Buffer",
|
||||||
|
"funcs": [0],
|
||||||
|
"uses": ["3:6-3:12"]
|
||||||
|
}],
|
||||||
|
"funcs": [{
|
||||||
|
"id": 0,
|
||||||
|
"usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
|
||||||
|
"short_name": "CreateSharedBuffer",
|
||||||
|
"qualified_name": "Buffer::CreateSharedBuffer",
|
||||||
|
"definition_spelling": "3:14-3:32",
|
||||||
|
"definition_extent": "3:1-3:37",
|
||||||
|
"declaring_type": 0
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
*/
|
5
tests/multi_file/static.h
Normal file
5
tests/multi_file/static.h
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
struct Buffer {
|
||||||
|
static void CreateSharedBuffer();
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user