mirror of
https://github.com/MaskRay/ccls.git
synced 2025-03-31 05:52:09 +00:00
Change how function declarations are serialized so parameter info can be added.
This commit is contained in:
parent
b7f7987cb8
commit
3469850c98
@ -1008,7 +1008,26 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
|
||||
func->def.definition_extent = ResolveExtent(decl->cursor);
|
||||
}
|
||||
else {
|
||||
func->declarations.push_back(decl_spelling);
|
||||
IndexFunc::Declaration declaration;
|
||||
declaration.spelling = decl_spelling;
|
||||
|
||||
/*
|
||||
for (clang::Cursor arg : decl_cursor.get_arguments()) {
|
||||
switch (arg.get_kind()) {
|
||||
case CXCursor_ParmDecl: {
|
||||
IndexFunc::DeclarationVariable decl_var;
|
||||
decl_var.content = arg.get_display_name(); // FIXME/TODO: scan actual tokens.
|
||||
decl_var.spelling = ResolveSpelling(arg.cx_cursor);
|
||||
declaration.vars.push_back(decl_var);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
func->declarations.push_back(declaration);
|
||||
}
|
||||
|
||||
// Emit definition data for the function. We do this even if it isn't a
|
||||
@ -1074,32 +1093,6 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
|
||||
clang_disposeOverriddenCursors(overridden);
|
||||
}
|
||||
}
|
||||
|
||||
// else {
|
||||
// Add declaration.
|
||||
// func_def->declarations.push_back(ResolveSpelling(decl->cursor));
|
||||
/* TODO/FIXME: enable this block
|
||||
IndexFunc::Declaration declaration;
|
||||
declaration.extent = ResolveExtent(decl->cursor);
|
||||
|
||||
clang::Cursor cursor = decl->cursor;
|
||||
for (clang::Cursor arg : cursor.get_arguments()) {
|
||||
switch (arg.get_kind()) {
|
||||
case CXCursor_ParmDecl: {
|
||||
IndexFunc::DeclarationVariable decl_var;
|
||||
// FIXME/TODO: scan actual tokens.
|
||||
decl_var.extent_string = arg.get_display_name();
|
||||
decl_var.spelling = ResolveSpelling(arg.cx_cursor);
|
||||
declaration.vars.push_back(decl_var);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
func_def->declarations.push_back(declaration);
|
||||
*/
|
||||
// }
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -316,8 +316,19 @@ struct IndexFunc {
|
||||
|
||||
IndexFuncId id;
|
||||
|
||||
struct DeclarationVariable {
|
||||
// Spelled name of the variable.
|
||||
Range spelling;
|
||||
// Full text (including type) of the variable.
|
||||
std::string content;
|
||||
};
|
||||
struct Declaration {
|
||||
Range spelling;
|
||||
std::vector<DeclarationVariable> vars;
|
||||
};
|
||||
|
||||
// Places the function is forward-declared.
|
||||
std::vector<Range> declarations;
|
||||
std::vector<Declaration> declarations;
|
||||
|
||||
// Methods which directly override this one.
|
||||
std::vector<IndexFuncId> derived;
|
||||
@ -339,6 +350,8 @@ struct IndexFunc {
|
||||
}
|
||||
};
|
||||
MAKE_HASHABLE(IndexFunc, t.def.usr);
|
||||
MAKE_REFLECT_STRUCT(IndexFunc::DeclarationVariable, spelling, content);
|
||||
MAKE_REFLECT_STRUCT(IndexFunc::Declaration, spelling, vars);
|
||||
|
||||
template <typename TypeId,
|
||||
typename FuncId,
|
||||
@ -447,7 +460,7 @@ MAKE_REFLECT_STRUCT(IndexInclude, line, resolved_path);
|
||||
struct IndexFile {
|
||||
IdCache id_cache;
|
||||
|
||||
static constexpr int kCurrentVersion = 3;
|
||||
static constexpr int kCurrentVersion = 4;
|
||||
int version = 0;
|
||||
|
||||
std::string path;
|
||||
|
20
src/query.cc
20
src/query.cc
@ -195,9 +195,10 @@ QueryFile::Def BuildFileDef(const IdMap& id_map, const IndexFile& indexed) {
|
||||
add_all_symbols(id_map.ToSymbol(func.id), func.def.definition_spelling.value());
|
||||
if (func.def.definition_extent.has_value())
|
||||
add_outline(id_map.ToSymbol(func.id), func.def.definition_extent.value());
|
||||
for (Range decl : func.declarations) {
|
||||
add_all_symbols(id_map.ToSymbol(func.id), decl);
|
||||
add_outline(id_map.ToSymbol(func.id), decl);
|
||||
for (const IndexFunc::Declaration& decl : func.declarations) {
|
||||
// TODO: add more outline info?
|
||||
add_all_symbols(id_map.ToSymbol(func.id), decl.spelling);
|
||||
add_outline(id_map.ToSymbol(func.id), decl.spelling);
|
||||
}
|
||||
for (const IndexFuncRef& caller : func.callers) {
|
||||
if (caller.is_implicit) continue;
|
||||
@ -320,7 +321,6 @@ IdMap::IdMap(QueryDatabase* query_db, const IdCache& local_ids)
|
||||
QueryLocation IdMap::ToQuery(Range range) const {
|
||||
return QueryLocation(primary_file, range);
|
||||
}
|
||||
|
||||
QueryTypeId IdMap::ToQuery(IndexTypeId id) const {
|
||||
assert(cached_type_ids_.find(id) != cached_type_ids_.end());
|
||||
return QueryTypeId(cached_type_ids_.find(id)->second);
|
||||
@ -337,6 +337,10 @@ QueryVarId IdMap::ToQuery(IndexVarId id) const {
|
||||
QueryFuncRef IdMap::ToQuery(IndexFuncRef ref) const {
|
||||
return QueryFuncRef(ToQuery(ref.id), ToQuery(ref.loc), ref.is_implicit);
|
||||
}
|
||||
QueryLocation IdMap::ToQuery(IndexFunc::Declaration decl) const {
|
||||
// TODO: expose more than just QueryLocation.
|
||||
return QueryLocation(primary_file, decl.spelling);
|
||||
}
|
||||
|
||||
optional<QueryLocation> IdMap::ToQuery(optional<Range> range) const {
|
||||
if (!range)
|
||||
@ -363,6 +367,11 @@ optional<QueryFuncRef> IdMap::ToQuery(optional<IndexFuncRef> ref) const {
|
||||
return nullopt;
|
||||
return ToQuery(ref.value());
|
||||
}
|
||||
optional<QueryLocation> IdMap::ToQuery(optional<IndexFunc::Declaration> decl) const {
|
||||
if (!decl)
|
||||
return nullopt;
|
||||
return ToQuery(decl.value());
|
||||
}
|
||||
|
||||
template<typename In, typename Out>
|
||||
std::vector<Out> ToQueryTransform(const IdMap& id_map, const std::vector<In>& input) {
|
||||
@ -387,6 +396,9 @@ std::vector<QueryVarId> IdMap::ToQuery(std::vector<IndexVarId> ids) const {
|
||||
std::vector<QueryFuncRef> IdMap::ToQuery(std::vector<IndexFuncRef> refs) const {
|
||||
return ToQueryTransform<IndexFuncRef, QueryFuncRef>(*this, refs);
|
||||
}
|
||||
std::vector<QueryLocation> IdMap::ToQuery(std::vector<IndexFunc::Declaration> decls) const {
|
||||
return ToQueryTransform<IndexFunc::Declaration, QueryLocation>(*this, decls);
|
||||
}
|
||||
|
||||
SymbolIdx IdMap::ToSymbol(IndexTypeId id) const {
|
||||
return SymbolIdx(SymbolKind::Type, ToQuery(id).id);
|
||||
|
@ -315,16 +315,19 @@ struct IdMap {
|
||||
QueryFuncId ToQuery(IndexFuncId id) const;
|
||||
QueryVarId ToQuery(IndexVarId id) const;
|
||||
QueryFuncRef ToQuery(IndexFuncRef ref) const;
|
||||
QueryLocation ToQuery(IndexFunc::Declaration decl) const;
|
||||
optional<QueryLocation> ToQuery(optional<Range> range) const;
|
||||
optional<QueryTypeId> ToQuery(optional<IndexTypeId> id) const;
|
||||
optional<QueryFuncId> ToQuery(optional<IndexFuncId> id) const;
|
||||
optional<QueryVarId> ToQuery(optional<IndexVarId> id) const;
|
||||
optional<QueryFuncRef> ToQuery(optional<IndexFuncRef> ref) const;
|
||||
optional<QueryLocation> ToQuery(optional<IndexFunc::Declaration> decl) const;
|
||||
std::vector<QueryLocation> ToQuery(std::vector<Range> ranges) const;
|
||||
std::vector<QueryTypeId> ToQuery(std::vector<IndexTypeId> ids) const;
|
||||
std::vector<QueryFuncId> ToQuery(std::vector<IndexFuncId> ids) const;
|
||||
std::vector<QueryVarId> ToQuery(std::vector<IndexVarId> ids) const;
|
||||
std::vector<QueryFuncRef> ToQuery(std::vector<IndexFuncRef> refs) const;
|
||||
std::vector<QueryLocation> ToQuery(std::vector<IndexFunc::Declaration> decls) const;
|
||||
|
||||
SymbolIdx ToSymbol(IndexTypeId id) const;
|
||||
SymbolIdx ToSymbol(IndexFuncId id) const;
|
||||
|
@ -12,7 +12,13 @@ OUTPUT:
|
||||
"usr": "c:@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void foo()",
|
||||
"declarations": ["1:6-1:9", "2:6-2:9", "4:6-4:9"],
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:9"
|
||||
}, {
|
||||
"spelling": "2:6-2:9"
|
||||
}, {
|
||||
"spelling": "4:6-4:9"
|
||||
}],
|
||||
"definition_spelling": "3:6-3:9",
|
||||
"definition_extent": "3:1-3:14"
|
||||
}]
|
||||
|
@ -24,21 +24,27 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@declonly#",
|
||||
"short_name": "declonly",
|
||||
"detailed_name": "void Foo::declonly()",
|
||||
"declarations": ["2:8-2:16"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:16"
|
||||
}],
|
||||
"declaring_type": 0
|
||||
}, {
|
||||
"id": 1,
|
||||
"usr": "c:@S@Foo@F@purevirtual#",
|
||||
"short_name": "purevirtual",
|
||||
"detailed_name": "void Foo::purevirtual()",
|
||||
"declarations": ["3:16-3:27"],
|
||||
"declarations": [{
|
||||
"spelling": "3:16-3:27"
|
||||
}],
|
||||
"declaring_type": 0
|
||||
}, {
|
||||
"id": 2,
|
||||
"usr": "c:@S@Foo@F@def#",
|
||||
"short_name": "def",
|
||||
"detailed_name": "void Foo::def()",
|
||||
"declarations": ["4:8-4:11"],
|
||||
"declarations": [{
|
||||
"spelling": "4:8-4:11"
|
||||
}],
|
||||
"definition_spelling": "7:11-7:14",
|
||||
"definition_extent": "7:1-7:19",
|
||||
"declaring_type": 0
|
||||
|
@ -8,7 +8,9 @@ OUTPUT:
|
||||
"usr": "c:@F@foo#I#I#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void foo(int, int)",
|
||||
"declarations": ["1:6-1:9"]
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:9"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
*/
|
||||
|
@ -10,7 +10,9 @@ OUTPUT:
|
||||
"usr": "c:@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void foo()",
|
||||
"declarations": ["1:6-1:9"],
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:9"
|
||||
}],
|
||||
"definition_spelling": "3:6-3:9",
|
||||
"definition_extent": "3:1-3:14"
|
||||
}]
|
||||
|
@ -34,7 +34,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Root@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void Root::foo()",
|
||||
"declarations": ["2:16-2:19"],
|
||||
"declarations": [{
|
||||
"spelling": "2:16-2:19"
|
||||
}],
|
||||
"declaring_type": 0,
|
||||
"derived": [1]
|
||||
}, {
|
||||
|
@ -24,7 +24,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void Foo::foo()",
|
||||
"declarations": ["2:8-2:11"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:11"
|
||||
}],
|
||||
"declaring_type": 0
|
||||
}]
|
||||
}
|
||||
|
@ -22,7 +22,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void Foo::foo()",
|
||||
"declarations": ["2:8-2:11"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:11"
|
||||
}],
|
||||
"definition_spelling": "5:11-5:14",
|
||||
"definition_extent": "5:1-5:19",
|
||||
"declaring_type": 0
|
||||
|
@ -12,7 +12,9 @@ OUTPUT: simple_header.h
|
||||
"usr": "c:@F@header#",
|
||||
"short_name": "header",
|
||||
"detailed_name": "void header()",
|
||||
"declarations": ["3:6-3:12"]
|
||||
"declarations": [{
|
||||
"spelling": "3:6-3:12"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
OUTPUT: simple_impl.cc
|
||||
|
@ -20,7 +20,9 @@ OUTPUT: static.h
|
||||
"usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
|
||||
"short_name": "CreateSharedBuffer",
|
||||
"detailed_name": "void Buffer::CreateSharedBuffer()",
|
||||
"declarations": ["4:15-4:33"],
|
||||
"declarations": [{
|
||||
"spelling": "4:15-4:33"
|
||||
}],
|
||||
"declaring_type": 0
|
||||
}]
|
||||
}
|
||||
|
@ -10,7 +10,9 @@ OUTPUT:
|
||||
"usr": "c:anonymous_function.cc@aN@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void ::foo()",
|
||||
"declarations": ["2:6-2:9"]
|
||||
"declarations": [{
|
||||
"spelling": "2:6-2:9"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
*/
|
||||
|
@ -10,7 +10,9 @@ OUTPUT:
|
||||
"usr": "c:@N@hello@F@foo#I#I#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void hello::foo(int, int)",
|
||||
"declarations": ["2:6-2:9"]
|
||||
"declarations": [{
|
||||
"spelling": "2:6-2:9"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
*/
|
||||
|
@ -22,7 +22,9 @@ OUTPUT:
|
||||
"usr": "c:@N@hello@S@Foo@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void hello::Foo::foo()",
|
||||
"declarations": ["3:8-3:11"],
|
||||
"declarations": [{
|
||||
"spelling": "3:8-3:11"
|
||||
}],
|
||||
"declaring_type": 0
|
||||
}]
|
||||
}
|
||||
|
@ -24,7 +24,9 @@ OUTPUT:
|
||||
"usr": "c:@N@hello@S@Foo@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void hello::Foo::foo()",
|
||||
"declarations": ["3:8-3:11"],
|
||||
"declarations": [{
|
||||
"spelling": "3:8-3:11"
|
||||
}],
|
||||
"definition_spelling": "6:11-6:14",
|
||||
"definition_extent": "6:1-6:19",
|
||||
"declaring_type": 0
|
||||
|
@ -47,7 +47,9 @@ OUTPUT:
|
||||
"usr": "c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#",
|
||||
"short_name": "LoadCompilationEntriesFromDirectory",
|
||||
"detailed_name": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string &)",
|
||||
"declarations": ["12:31-12:66"]
|
||||
"declarations": [{
|
||||
"spelling": "12:31-12:66"
|
||||
}]
|
||||
}],
|
||||
"vars": [{
|
||||
"id": 0,
|
||||
|
@ -33,7 +33,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@Bar#&$@S@Template>#d#",
|
||||
"short_name": "Bar",
|
||||
"detailed_name": "void Foo::Bar(Template<double> &)",
|
||||
"declarations": ["5:8-5:11"],
|
||||
"declarations": [{
|
||||
"spelling": "5:8-5:11"
|
||||
}],
|
||||
"definition_spelling": "8:11-8:14",
|
||||
"definition_extent": "8:1-8:36",
|
||||
"declaring_type": 1
|
||||
|
@ -30,7 +30,11 @@ OUTPUT:
|
||||
"usr": "c:@ST>1#T@Template@F@Foo#",
|
||||
"short_name": "Foo",
|
||||
"detailed_name": "void Template::Foo()",
|
||||
"declarations": ["3:8-3:11", "9:22-9:25"],
|
||||
"declarations": [{
|
||||
"spelling": "3:8-3:11"
|
||||
}, {
|
||||
"spelling": "9:22-9:25"
|
||||
}],
|
||||
"definition_spelling": "7:19-7:22",
|
||||
"definition_extent": "6:1-7:24",
|
||||
"declaring_type": 0
|
||||
|
@ -34,7 +34,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@Foo#",
|
||||
"short_name": "Foo",
|
||||
"detailed_name": "void Foo::Foo()",
|
||||
"declarations": ["4:3-4:6"],
|
||||
"declarations": [{
|
||||
"spelling": "4:3-4:6"
|
||||
}],
|
||||
"definition_spelling": "7:6-7:9",
|
||||
"definition_extent": "7:1-9:2",
|
||||
"declaring_type": 0,
|
||||
|
@ -14,7 +14,9 @@ OUTPUT:
|
||||
"usr": "c:@F@called#b#b#",
|
||||
"short_name": "called",
|
||||
"detailed_name": "bool called(bool, bool)",
|
||||
"declarations": ["3:6-3:12"],
|
||||
"declarations": [{
|
||||
"spelling": "3:6-3:12"
|
||||
}],
|
||||
"callers": ["1@6:14-6:20"]
|
||||
}, {
|
||||
"id": 1,
|
||||
|
@ -19,7 +19,9 @@ OUTPUT:
|
||||
"usr": "c:@F@called#",
|
||||
"short_name": "called",
|
||||
"detailed_name": "void called()",
|
||||
"declarations": ["1:6-1:12"],
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:12"
|
||||
}],
|
||||
"callers": ["1@5:3-5:9"]
|
||||
}, {
|
||||
"id": 1,
|
||||
|
@ -26,7 +26,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Wrapper@F@Wrapper#I#",
|
||||
"short_name": "Wrapper",
|
||||
"detailed_name": "void Wrapper::Wrapper(int)",
|
||||
"declarations": ["2:3-2:10"],
|
||||
"declarations": [{
|
||||
"spelling": "2:3-2:10"
|
||||
}],
|
||||
"declaring_type": 0,
|
||||
"callers": ["~2@8:10-8:16"]
|
||||
}, {
|
||||
|
@ -25,7 +25,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@Used#",
|
||||
"short_name": "Used",
|
||||
"detailed_name": "void Foo::Used()",
|
||||
"declarations": ["2:8-2:12"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:12"
|
||||
}],
|
||||
"declaring_type": 0,
|
||||
"callers": ["1@6:18-6:22"]
|
||||
}, {
|
||||
|
@ -26,7 +26,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@Used#",
|
||||
"short_name": "Used",
|
||||
"detailed_name": "void Foo::Used()",
|
||||
"declarations": ["2:8-2:12"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:12"
|
||||
}],
|
||||
"declaring_type": 0,
|
||||
"callers": ["1@7:6-7:10"]
|
||||
}, {
|
||||
|
@ -11,7 +11,9 @@ OUTPUT:
|
||||
"usr": "c:@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void foo()",
|
||||
"declarations": ["1:6-1:9"],
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:9"
|
||||
}],
|
||||
"callers": ["1@4:3-4:6"]
|
||||
}, {
|
||||
"id": 1,
|
||||
|
@ -25,7 +25,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void Foo::foo()",
|
||||
"declarations": ["2:8-2:11"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:11"
|
||||
}],
|
||||
"declaring_type": 0,
|
||||
"callers": ["1@7:6-7:9"]
|
||||
}, {
|
||||
|
@ -14,7 +14,9 @@ OUTPUT:
|
||||
"usr": "c:@FT@>1#Taccept#t0.0#v#",
|
||||
"short_name": "accept",
|
||||
"detailed_name": "void accept(T)",
|
||||
"declarations": ["2:6-2:12"],
|
||||
"declarations": [{
|
||||
"spelling": "2:6-2:12"
|
||||
}],
|
||||
"callers": ["1@5:3-5:9", "1@6:3-6:9"]
|
||||
}, {
|
||||
"id": 1,
|
||||
|
@ -131,7 +131,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "unique_ptr<S1, S2> *Foo::foo()",
|
||||
"declarations": ["65:23-65:26"],
|
||||
"declarations": [{
|
||||
"spelling": "65:23-65:26"
|
||||
}],
|
||||
"definition_spelling": "79:26-79:29",
|
||||
"definition_extent": "79:1-79:51",
|
||||
"declaring_type": 3
|
||||
|
@ -22,7 +22,9 @@ OUTPUT:
|
||||
"usr": "c:@F@foo#*$@S@Foo#S0_#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "void foo(Foo *, Foo *)",
|
||||
"declarations": ["3:6-3:9"],
|
||||
"declarations": [{
|
||||
"spelling": "3:6-3:9"
|
||||
}],
|
||||
"definition_spelling": "4:6-4:9",
|
||||
"definition_extent": "4:1-4:26"
|
||||
}],
|
||||
|
@ -39,7 +39,11 @@ OUTPUT:
|
||||
"usr": "c:@F@foo#",
|
||||
"short_name": "foo",
|
||||
"detailed_name": "Type *foo()",
|
||||
"declarations": ["3:7-3:10", "4:7-4:10"],
|
||||
"declarations": [{
|
||||
"spelling": "3:7-3:10"
|
||||
}, {
|
||||
"spelling": "4:7-4:10"
|
||||
}],
|
||||
"definition_spelling": "5:7-5:10",
|
||||
"definition_extent": "5:1-5:15"
|
||||
}, {
|
||||
@ -47,7 +51,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@Get#I#",
|
||||
"short_name": "Get",
|
||||
"detailed_name": "Type *Foo::Get(int)",
|
||||
"declarations": ["8:9-8:12"],
|
||||
"declarations": [{
|
||||
"spelling": "8:9-8:12"
|
||||
}],
|
||||
"definition_spelling": "12:12-12:15",
|
||||
"definition_extent": "12:1-12:23",
|
||||
"declaring_type": 1
|
||||
@ -56,7 +62,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@Empty#",
|
||||
"short_name": "Empty",
|
||||
"detailed_name": "void Foo::Empty()",
|
||||
"declarations": ["9:8-9:13"],
|
||||
"declarations": [{
|
||||
"spelling": "9:8-9:13"
|
||||
}],
|
||||
"definition_spelling": "13:11-13:16",
|
||||
"definition_extent": "13:1-13:21",
|
||||
"declaring_type": 1
|
||||
@ -65,13 +73,17 @@ OUTPUT:
|
||||
"usr": "c:@F@external#",
|
||||
"short_name": "external",
|
||||
"detailed_name": "const Type &external()",
|
||||
"declarations": ["15:20-15:28"]
|
||||
"declarations": [{
|
||||
"spelling": "15:20-15:28"
|
||||
}]
|
||||
}, {
|
||||
"id": 4,
|
||||
"usr": "c:type_usage_on_return_type.cc@F@bar#",
|
||||
"short_name": "bar",
|
||||
"detailed_name": "Type *bar()",
|
||||
"declarations": ["17:14-17:17"],
|
||||
"declarations": [{
|
||||
"spelling": "17:14-17:17"
|
||||
}],
|
||||
"definition_spelling": "18:14-18:17",
|
||||
"definition_extent": "18:1-18:22"
|
||||
}]
|
||||
|
@ -28,7 +28,9 @@ OUTPUT:
|
||||
"usr": "c:@S@Foo@F@make#",
|
||||
"short_name": "make",
|
||||
"detailed_name": "Foo *Foo::make()",
|
||||
"declarations": ["2:8-2:12"],
|
||||
"declarations": [{
|
||||
"spelling": "2:8-2:12"
|
||||
}],
|
||||
"definition_spelling": "5:11-5:15",
|
||||
"definition_extent": "5:1-8:2",
|
||||
"declaring_type": 0
|
||||
|
@ -32,14 +32,18 @@ OUTPUT:
|
||||
"usr": "c:@F@called#I#",
|
||||
"short_name": "called",
|
||||
"detailed_name": "void called(int)",
|
||||
"declarations": ["1:6-1:12"],
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:12"
|
||||
}],
|
||||
"callers": ["2@14:3-14:9"]
|
||||
}, {
|
||||
"id": 1,
|
||||
"usr": "c:@F@gen#",
|
||||
"short_name": "gen",
|
||||
"detailed_name": "int gen()",
|
||||
"declarations": ["3:5-3:8"],
|
||||
"declarations": [{
|
||||
"spelling": "3:5-3:8"
|
||||
}],
|
||||
"callers": ["2@14:14-14:17"]
|
||||
}, {
|
||||
"id": 2,
|
||||
|
@ -14,7 +14,9 @@ OUTPUT:
|
||||
"usr": "c:@F@called#I#",
|
||||
"short_name": "called",
|
||||
"detailed_name": "void called(int)",
|
||||
"declarations": ["1:6-1:12"],
|
||||
"declarations": [{
|
||||
"spelling": "1:6-1:12"
|
||||
}],
|
||||
"callers": ["2@6:3-6:9"]
|
||||
}, {
|
||||
"id": 1,
|
||||
|
@ -36,14 +36,18 @@ OUTPUT:
|
||||
"usr": "c:@F@accept#I#",
|
||||
"short_name": "accept",
|
||||
"detailed_name": "void accept(int)",
|
||||
"declarations": ["7:6-7:12"],
|
||||
"declarations": [{
|
||||
"spelling": "7:6-7:12"
|
||||
}],
|
||||
"callers": ["2@14:3-14:9", "2@15:3-15:9", "2@17:3-17:9"]
|
||||
}, {
|
||||
"id": 1,
|
||||
"usr": "c:@F@accept#*I#",
|
||||
"short_name": "accept",
|
||||
"detailed_name": "void accept(int *)",
|
||||
"declarations": ["8:6-8:12"],
|
||||
"declarations": [{
|
||||
"spelling": "8:6-8:12"
|
||||
}],
|
||||
"callers": ["2@16:3-16:9"]
|
||||
}, {
|
||||
"id": 2,
|
||||
|
@ -25,7 +25,9 @@ OUTPUT:
|
||||
"usr": "c:@F@accept#I#",
|
||||
"short_name": "accept",
|
||||
"detailed_name": "void accept(int)",
|
||||
"declarations": ["5:6-5:12"],
|
||||
"declarations": [{
|
||||
"spelling": "5:6-5:12"
|
||||
}],
|
||||
"callers": ["1@8:3-8:9"]
|
||||
}, {
|
||||
"id": 1,
|
||||
|
Loading…
Reference in New Issue
Block a user