Compare commits

...

227 Commits

Author SHA1 Message Date
Fangrui Song
962c0e72b4 Clear index requests upon "exit"
to make indexers stop in time. This is especially relevant when there
are many initial index requests.
2025-01-28 10:34:19 -08:00
Ka Ho Ng
48f1a006b7
Reformat all the files after 192a82b (#979)
Since the introduction of "ColumnLimit: 120" in .clang-format, the
column limit has become 120 characters instead of 80 characters.

This prevents clang-format from generating too much changes even if just
a small portion of a source file or header file is modified.
2024-12-06 17:58:19 -08:00
Fangrui Song
4331c89586 Adapt llvmorg-20-init-12964-gdf9a14d7bbf1: createDiagnostics 2024-11-23 18:33:49 -08:00
Fangrui Song
3640f899f1 textDocument/signatureHelp: add trigger character {
to enable https://reviews.llvm.org/D116317
2024-11-09 23:10:55 -08:00
Fangrui Song
664f952f38 Implement textDocument/switchSourceheader
When the current file is X.cc, there might be multiple X.h.
Use a heuristic to find the best X.h.

Vote for each interesting symbol's definitions (for header) or
declarations (for non-header). Select the file with the most votes.

If `file_id2cnt` is empty, use a simpler heuristic.
2024-11-08 20:56:30 -08:00
Fangrui Song
cc13ced659 Support LSP semantic tokens
This patch implements `textDocument/semanticTokens/{full,range}`. If the
client supports semantic tokens, $ccls/publishSemanticHighlight (now
deprecated) is disabled.

These token modifiers are mostly useful to emphasize certain symbols:
`static, classScope, globalScope, namespaceScope`.

To enable a colorful syntax highlighting scheme, set the
highlight.rainbow initialization option to 10.
https://maskray.me/blog/2024-10-20-ccls-and-lsp-semantic-tokens

Note that the older $ccls/publishSemanticHighlight protocol with
highlight.lsRanges==true (used by vscode-ccls) is no longer supported.
2024-11-05 21:57:24 -08:00
Fangrui Song
50fd8d069e Drop support for LLVM 7, 8, and 9 2024-11-01 23:50:25 -07:00
Fangrui Song
192a82ba85 .clang-format: ColumnLimit: 120 2024-10-21 17:52:44 -07:00
Fangrui Song
349cdc471b didOpen: Sort index requests by approximity to working files
For a large project, it is preferable to prioritize indexing files
neighboring working files.
2024-10-21 17:49:54 -07:00
Sam James
ddbe41300f
utils: Add <cstdint> (#968)
utils uses `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
2024-10-02 17:36:02 -07:00
Fangrui Song
e5e101253a Adapt llvmorg-19-init-9465-g39adc8f42329: BuiltinType::ArraySection 2024-05-05 17:49:30 -07:00
Fangrui Song
559b416409 Adapt llvmorg-19-init-9119-g4ec9a662d388: startswith/endswith removal 2024-05-05 17:49:30 -07:00
Fangrui Song
88e382f8a3 Adapt llvmorg-19-init-1720-gda95d926f6fc: InclusionDirective 2024-05-05 17:44:13 -07:00
Fangrui Song
f8d2778b65 Adapt llvm/llvm-project#74910: FileEntry::getName
Based on a patch by @zsrkmyn
2024-02-02 00:05:55 -08:00
Fangrui Song
f36ecb0c0e Adapt llvmorg-18-init-13684-ge1e34cc2a17c: llvm/Support/Host.h 2023-12-14 22:08:17 -08:00
Fangrui Song
490edc1e02 Adapt llvmorg-18-init-10631-gedd690b02e16: TTK_* 2023-11-15 16:01:09 -08:00
Fangrui Song
7b17426b9f Adapt llvmorg-18-init-4877-g62e576b454e1: getLangOpts 2023-09-09 19:43:27 -07:00
Fangrui Song
ee2d4f5b9a Disable -include b.hh => -include b.hh.{gch,pch} transition
See https://maskray.me/blog/2023-07-16-precompiled-headers for the
behavior.
2023-07-17 16:06:49 -07:00
Fangrui Song
ba38e13b93 Adapt llvmorg-17-init-4072-gcc929590ad30: PrecompiledPreamble::Build 2023-04-11 11:04:01 -07:00
Fangrui Song
8bc3959537 Use raw module format to fix -gmodules crash
To avoid `llvm::report_fatal_error("unknown module format")` in getPCHContainerWriter.
See a3e2ff19e5
2023-01-15 12:14:42 -08:00
Fangrui Song
2468edc0b3 cmake: Adapt llvmorg-16-init-15123-gf09cf34d0062 (LLVMTargetParser) 2023-01-14 21:37:52 -08:00
Fangrui Song
6dc564f2a8 Adapt llvm::Optional deprecation 2023-01-09 16:03:16 -08:00
Fangrui Song
8a93950fb9 Add callHierarchy 2022-11-03 00:20:22 -07:00
Fangrui Song
74458915b3 Adapt llvmorg-15-init-7692-gd79ad2f1dbc2: PPCallbacks::InclusionDirective parameter 2022-04-16 22:29:03 -07:00
Fangrui Song
790daca4b2 query: include llvm/ADT/STLExtras.h
The header is no longer transitively included in 2022-01.
2022-01-30 11:17:32 -08:00
augiedoggie
b28cec1872
platform_posix: add support for Haiku (#863) 2022-01-23 00:22:29 -08:00
Fangrui Song
c7596e3712 initialize: Add offsetEncoding to InitializeResult 2022-01-11 19:25:21 -08:00
Fangrui Song
8422f0a522 Adapt llvmorg-14-init-13600-g92417eaf3329: braced constructor call 2022-01-09 12:25:07 -08:00
Fangrui Song
dce86b1362 cmake: Add LANGUAGE C to fix find_package(Clang REQUIRED) error 2021-12-15 10:14:34 -08:00
Fangrui Song
5a48e6c419 sema_manager: only keep latest session.maxNum sessions in case of a surge of textDocument/didChange 2021-09-23 14:41:51 -07:00
Fangrui Song
3ce756e39a Adaopt llvmorg-14-init-3863-g601102d282d5: refactor clang::isIdentifierBody 2021-09-23 13:36:01 -07:00
Fangrui Song
f21fd7e5a2 pipeline: Avoid Twine
For some reason, Twine(int), when concatenated, may incorrectly become Twine(const unsigned long&) and cause a dereference crash.
2021-06-26 12:07:41 -07:00
Fangrui Song
80d06eb476 sema_manager: Use llvm::CrashRecoveryContext 2021-05-18 21:01:50 -07:00
Ludovic J
c018bce9af hierarchicalDocumentSymbol: use a range based method to support
out-of-line class members (#674)
2021-05-09 11:33:34 -07:00
Fangrui Song
c6686be382 ccls_lsp
The old name was somehow taken.
2021-04-05 18:04:57 -07:00
zhangjunphy
0ada56ef3b Fix short_name_size when getNameAsString does not return a prefix (#784) 2021-03-30 23:33:43 -07:00
Fangrui Song
4cd308d7fd Adapt llvmorg-12-init-17739-gf4d02fbe418d: change CanReuse 2021-01-28 00:18:27 -08:00
Yu Zeng
aca02d209b Fix compile error when use msvc 2019 (#754)
See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
2021-01-18 19:05:28 -08:00
Fangrui Song
40145807d5 completion: Don't overwrite the following identifier (#749) 2021-01-09 11:12:33 -08:00
Fangrui Song
a2d2fd8167 diagnosticMain: Rebuild preamble for bounds change 2020-12-26 12:31:41 -08:00
Jan Lahoda
4ff22e6603
Making the progress an integer, as per the specification (#739) 2020-12-26 12:30:53 -08:00
Fangrui Song
4c66fdf09d Resolve "directory" in compile_commands.json in case CWD is not the project root
Also delete an unneeded chdir hack.

Close #703
2020-12-19 21:42:21 -08:00
Fangrui Song
feb153a843 Adapt llvmorg-12-init-11522-g4c55c3b66de: change ComputePreambleBounds 2020-11-18 22:33:04 -08:00
Fangrui Song
68d6e4122d project: fix initial directory list for recursive .ccls
Fix #717
2020-11-06 18:55:01 -08:00
Fangrui Song
a3c5d4a1eb Adapt llvmorg-12-init-5498-g257b29715bb: add an argument to the ctor of clang::driver::Driver 2020-09-23 16:06:49 -07:00
Fangrui Song
20a9f7b5f4 clang_tu: set RecoveryAST & RecoveryASTType 2020-08-30 10:21:58 -07:00
Fangrui Song
55c0d5b4eb project: override the compdb entry with .ccls if compile_commands.json is not used
Note: `exact_match` should be false if the entry is an synthetic one, instead
of an explicit entry in compile_commands.json
2020-08-26 11:36:55 -07:00
Fangrui Song
aa4d2d1b43 If clang >= 10, don't crash on #pragma clang __debug 2020-08-22 10:29:39 -07:00
Fangrui Song
125915e254 Adapt llvmorg-12-init-946-g10b1b4a231a: add find_package(ZLIB) 2020-07-25 08:30:18 -07:00
Fangrui Song
ca95f48a53 Support workspaces as symlinks and symlinks within a workspace
Fix #639
2020-07-19 17:03:16 -07:00
Fangrui Song
5108cfafcb Report index status via $/progress
Add WorkDoneProgress to represent WorkDoneProgressBegin/WorkDoneProgressReport/WorkDoneProgressEnd.
2020-07-04 10:05:26 -07:00
Ernest Borowski
468258d641 cmake: Fix rapidJSON version detection 2020-06-29 22:46:00 -07:00
Fangrui Song
6244594d71 indexer: log the number of errors and the first diagnostic
Example log:

```
15:47:45 indexer1         pipeline.cc:379 I parse /tmp/d/a.c error:1 use of undeclared identifier 'arg'
 clang /tmp/d/a.c --gcc-toolchain=/usr -working-directory=/tmp/d/
```
2020-06-28 17:16:35 -07:00
Fangrui Song
8cf8a3c4a4 Disable PCH reading/writing 2020-06-14 23:16:13 -07:00
Victor Sui
7a05f1ed06 cmake: Fail loudly when found rapidjson is too old (#646)
When the rapidjson found by cmake is an older version it defines a
variable RAPIDJSON_INCLUDE_DIRS instead of RapidJSON_INCLUDE_DIRS (#455).
According to #383 we do not want to make these older version work with
ccls. However currently if the rapidjson found by cmake is an older
version that defined RAPIDJSON_INCLUDE_DIRS, then the cmake invocation
still succeeds but any build command will fail because
RapidJSON_INCLUDE_DIRS was never set properly. This makes the cmake
invocation fail with a relevant error message in this event.
2020-06-14 23:15:48 -07:00
Ludovic Jozeau
c5acf62060 indexer: set the kind of static data members to Field instead of Var
Otherwise it is impossible to distinguish a static variable from a
static member variable.

Close #593
2020-04-22 09:08:20 -07:00
Fangrui Song
de800ebb70 sema_manager: report diagnostics in macro expansions
Fix #608
2020-04-19 11:27:57 -07:00
Fangrui Song
c10642d29b Delete ci/ and use .gitignore whitelist 2020-03-22 09:50:48 -07:00
Evan Klitzke
386f714f5e Set indexer threads' priority to ThreadPriority::Background (#538) 2019-12-02 19:20:39 -08:00
Fangrui Song
6c87a4656c project: decrease score if .c is matched against .hh (#549) 2019-12-22 10:06:34 -08:00
akocis
e373f9ed97 position: support line numbers larger than INT16_MAX (but <= UINT16_MAX) (#553) 2019-12-27 20:56:50 +01:00
Jan Lahoda
a2ecd9a8f0 textDocument/documentSymbol: support unopened files (#548) 2019-12-22 09:26:23 +01:00
xVan Turing
06a04d5102 indexer: add name for anonymous Enum 2019-11-16 05:42:51 +08:00
Felicián Németh
760f5e57ff initialize: implement serverInfo (LSP 3.15.0)
Return serverInfo for an initialize request. This helps clients to
identify ccls even when they just connect to a TCP port and allows them
to easily implement server specific functionalities like $ccls/navigate.
2019-11-11 10:19:24 +01:00
Fangrui Song
0a1e08a8ca indexer: fix getAdjustedDecl for explicit instantiations; fix incorrect short_offset_size=1 when name is empty
Fix #516
2019-11-09 13:27:09 -08:00
Fangrui Song
7e795e9b9e cmake: support CLANG_LINK_CLANG_DYLIB 2019-11-01 10:36:38 -07:00
Fangrui Song
0fe8a16504 Infer -target and --driver-mode from argv[0]
Fix #511
2019-10-31 22:31:03 -07:00
Fangrui Song
5935db10fd Fix some clang-tidy warnings
Incorporated some fixes by Daniel Chabrowski (#467)
2019-10-10 19:24:44 -07:00
Fangrui Song
2bffff7b0b Add initialization option completion.placeholder; change client.snippetSupport: false to drop ( and <
* client.snippetSupport: false => `foo`
* client.snippetSupport: true
  + completion.placeholder: false => `foo($1)$0` `bar<$1>()$0`
  + completion.placeholder: true => `foo(${1:int a}, ${2:int b})$0` `bar<${1:typename T}>()$0`

Note, client.snippetSupport is always false if the client does not support snippets.

Close #412
2019-10-06 23:54:45 -07:00
Fangrui Song
aa9668a8fc completion: don't reuse cache if the buffer line has changed
Fix emacs-ccls#54
2019-09-26 23:25:09 -07:00
Fangrui Song
0c6be472ce project: strip -Xclang <arg> 2019-09-11 19:05:04 -07:00
Fangrui Song
b3d694b8bd indexer: disable warnings and skip processed function bodies
Adapt clang rC370337: removal of createIndexingAction and WrappingIndexAction
2019-08-21 18:59:41 -07:00
Fangrui Song
65f86d0498 indexer: llvm::sys::fs::UniqueID -> clang::FileID
Fix a minor issue that an empty included file is not recorded.

Note, we need to skip invalid uid2lid_and_path because
otherwise lid2path may contain invalid entries with lid: 0,
which will cause the file entry with file_id 0 to have an empty path.
2019-08-21 23:46:02 -07:00
Fangrui Song
0f0e679edb indexer: delete redundant consumeFile 2020-04-21 21:43:56 -07:00
Fangrui Song
6717986541 Adapt llvmorg-11-init-1314-g777180a32b6: StringRef's conversion to std::string is now explicit
For compatibility with LLVM 7, the call sites have to be a bit verbose.
2020-01-29 00:29:06 -08:00
Fangrui Song
61a1071634 💥 Rename FunctionName -> functionName, VarName -> var_name 2019-08-22 10:12:03 -07:00
Fangrui Song
62fbde7873 textDocument/definition: don't jump to the type definition 2019-08-22 02:24:20 -07:00
Fangrui Song
50d7fbc235 project: allow absolute compilationDatabaseDirectory
Fix #466
2019-08-16 19:34:11 -07:00
Shengjing Zhu
0eebe0c1a9 Support override CLANG_RESOURCE_DIR
The result from clang commandline is something like
/usr/lib/llvm-7/lib/clang/7.0.1

Which means I need to recompile when the clang is upgraded to newer 7.x.x

However the system has a convenient symlink, which is
/usr/include/clang/7.
2019-08-11 18:06:47 +08:00
Fangrui Song
17dc4a6ecc Construct SourceManager with UserFilesAreVolatile
Fix #235. Close #453

In clang, it may be worth generalizing UserFilesAreVolatile (introduced in rC160074) to FilesAreVolatile.
2019-07-30 21:18:34 -07:00
Fangrui Song
a43e51f3bf project: improve ComputeGuessScore heuristics 2019-07-20 06:13:53 -07:00
Fangrui Song
ab6498e2ff Support indexing non-existent files in index.onChange:true mode 2019-07-20 01:16:15 -07:00
Fangrui Song
86a93b2d71 $ccls/fileInfo: optionally dump dependencies, includes and skipped_ranges 2019-07-20 02:24:07 -07:00
Riatre Foo
3dac492025 Change RequestId::value from int to std::string to allow non-numeric IDs. 2019-07-16 14:39:35 +08:00
Dan Čermák
795ad205d7 Only add include directories for LLVM, clang & rapidjson if they are not in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
/usr/include/c++/9 comes before /usr/include in `{clang,gcc} -v -fsyntax-only -xc++ /dev/null`.

    target_include_directories(ccls SYSTEM PRIVATE ${RapidJSON_INCLUDE_DIRS})

If ${RapidJSON_INCLUDE_DIRS} resolves to /usr/include, /usr/include will
be shuffled before /usr/include/c++/9 and will cause `#include_next <stdlib.h>`
issues (see https://github.com/MaskRay/ccls/pull/417).

Check if the include directories are already in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
2019-06-27 12:19:11 +02:00
Fangrui Song
c728fe9795 project: support %cu directive and strip -M* options 2019-06-27 19:11:38 -07:00
Fangrui Song
ab4b4efcaf pipeline: report changed arg 2019-06-27 01:41:25 -07:00
TÖRÖK Attila
b7027f89e5 threaded_queue.hh: fix -Wpessimizing-move (#409) 2019-06-18 08:45:20 +02:00
Fangrui Song
20883c047c utils.hh: work around MSVC STL bug 2019-06-17 23:42:48 -07:00
Fangrui Song
0d911077f4 Set Diag::concerned if any of its Notes is concerned 2019-05-12 09:03:58 -07:00
Fangrui Song
fd3e82b682 Refactor FindEntry and use best-fit .ccls
Fixes an issue with hierarchical .ccls found by Riatre in #384
2019-04-29 08:44:52 -07:00
Fangrui Song
94727b7eae JsonWriter: write "null" if VersionedTextDocumentIdentifier.version is null
Fix #387
2019-04-30 06:22:32 -07:00
Riatre Foo
aa2f55eb2b Append '/' before populating folder.dot_ccls 2019-04-28 19:11:10 +08:00
Fangrui Song
0951004370 Set RetainCommentsFromSystemHeaders to true
Note with -fretain-comments-from-system-headers, the .gch of bits/stdc++.h becomes larger by 1%, but that is fine.

And improve comment handling in textDocument/hover

Fix #373
2019-04-11 22:26:07 -07:00
Fangrui Song
3a364c868b Set RetainRemappedFileBuffers to true
Reported by David Welch in #350.

This fixes double-free of llvm::MemoryBuffer when parsing fails.
2019-03-29 07:48:58 -07:00
Fangrui Song
4c871d9783 Add error checking of object deserialization; ignore non-object initializationOptions 2019-03-29 06:54:41 -07:00
Fangrui Song
4808ccb32c Add missing headers to adapt llvmorg-11-init-5501-g213aea4c583 and llvmorg-11-init-5528-gd7c5037e6b9 2020-03-12 08:35:59 -07:00
Fangrui Song
b0d42ad8f2 Adapt llvmorg-10-init-12036-g3b9715cb2193: handleDeclOccurence -> handleDeclOccurrence 2019-12-16 22:11:31 -08:00
Fangrui Song
a858567686 Adapt rL364464: clang::FrontendAction::Execute returns llvm::Error instead of bool 2019-06-27 01:10:04 -07:00
Fangrui Song
aab9dd6642 Simplify: hide unrelated options 2019-05-08 07:45:17 -07:00
Fangrui Song
34c5954420 Adapt clang rC358696: removal of OutputIsBinary 2019-04-18 19:16:24 -07:00
Fangrui Song
1066548dba Adapt D73392 - split of llvm/Support/Allocator.h 2020-01-25 09:57:16 -08:00
Fangrui Song
f1cbf8d550 Adapt clang rC357037: removal of setVirtualFileSystem 2019-03-26 18:42:48 -07:00
Fangrui Song
17eaca8a02 Add initialization option index.initialNoLinkage: false
By default, the background indexer doesn't handle names of no linkage.
They are indexed when their files are opened. This saves memory and
makes cache files smaller.
2019-03-24 23:42:00 -07:00
Paul Smith
b6155ddf73 Enhance the output of --version with Git describe results. (#342) 2019-03-23 20:24:10 -04:00
Fangrui Song
7bee63d0e0 Change containers of Query*::Def fields from std::vector to ccls::Vec
Query*::Def contain several immutable std::vector fields. Change them to
ccls::Vec to save bytes which were wasted by `capacity`.
2019-03-15 09:33:44 -07:00
Fangrui Song
e576df4f6f Add initialization option index.name.suppressUnwrittenScope (default: false) 2019-03-10 08:55:01 -07:00
Fangrui Song
dbf7d8eb41 If the workspace folder is a symlink, convert paths relative to it (#314)
If the workspace folder is a symlink and the client doesn't follow it.
Treat /tmp/symlink/ as canonical and convert every /tmp/real/ path to
/tmp/symlink/.
2019-03-10 00:27:50 -08:00
Fangrui Song
7c70c0662f cmake: use {LLVM,Clang}Config.cmake
Combined Daan De Meyer's #227 with other simplification

* USE_SHARED_LLVM is deleted in favor of LLVM_LINK_LLVM_DYLIB
* LLVM_ENABLE_RTTI is deleted as it is provided by LLVMConfig.cmake
* Only direct Clang/LLVM dependencies are required in target_link_libraries
* Restrict -DCLANG_RESOURCE_DIRECTORY= to src/utils.cc
2019-03-09 19:45:37 -08:00
Fangrui Song
5d27ac9f34 Add excludeRole to documentSymbol and override declaration's range/selectionRange with definition's 2019-03-08 23:37:08 -08:00
Fangrui Song
478f849ada cmake: add option to use system rapidjson if exists 2019-03-08 22:46:43 -08:00
Fangrui Song
9ca095f49e Misc 2019-03-02 18:18:02 -08:00
Fangrui Song
6a3cff6e50 Make clang.excludeArgs accept glob patterns 2019-03-04 18:21:53 -08:00
Fangrui Song
6c7b868556 stdin: synthesize an "exit" NotificationMessage in abnormal termination 2019-03-04 06:52:07 -08:00
Fangrui Song
beff1f6e89 textDocument/rename: mitigate edits in the same place and edits in macro replacement
Mitigate edits in the same place (#294) and:

// textDocument/rename on `f`
void f();
void g() { m(); } // incorrectly rewrote m() before
2019-03-01 18:35:13 -08:00
Fangrui Song
4047db2669 Add .github/ISSUE_TEMPLATE
Adapted from https://github.com/hlissner/doom-emacs
2019-03-01 17:37:37 -08:00
Fangrui Song
74432a641d working_files: normalize \r\n and \n to \n
Clients may normalize end-of-line sequences, thus cause a mismatch
between index_lines and buffer_lines.

Thanks to CXuesong for reporting this issue!
2019-03-01 17:30:53 -08:00
Fangrui Song
dcaa5a07af Change Pos::line from int16_t to uint16_t
This allows representing line 0 ~ 65535.
2019-02-23 19:17:26 +08:00
Fangrui Song
9dea14e783 Make hover more detailed (e.g. include inheritance info) 2019-02-22 23:49:37 +08:00
Fangrui Song
f35883f9b4 indexer: index TemplateTypeParmDecl and ParmVarDecl in declarations for clang >= 9
Index ParmVarDecl in declarations if index.parametersInDeclarations is true

And support some unhandled Decl::Kind
2019-02-22 10:59:05 +08:00
Fangrui Song
0c04c27e59 Add cache.{hierarchicalPath,retainInMemory}
cache.hierarchicalPath: store cache files as $directory/a/b/c.cc.blob to
work around NAME_MAX limitation.

cache.retainInMemory: after this number of loads, keep a copy of file
index in memory. If set to 1, it avoids cache corruption if the index
file is changed after the initial load, which may happen if several
language clients open the same project and share the same cache
directory.

Also rename cacheDirectory cacheFormat to cache.{directory,format}
2019-02-21 23:46:20 +08:00
Leszek Swirski
633d8936a8 Use DiagnosticRelatedInformation if client supports publishDiagnostics.relatedInformation (#276)
In clients that support DiagnosticRelatedInformation, display
clang notes as these nested diagnostics rather than appending
them to the parent diagnostic's message. Behaviour for clients
that don't support related information should be unchanged.
2019-02-21 02:23:21 +01:00
Fangrui Song
66e9cbd9a6 indexer: change Pos computation from byte offset to UTF-8 encoded code point offset 2019-02-16 17:23:47 +08:00
Fangrui Song
3bf921b3bd Add initialization option capabilities.* and index.maxInitializerLines
indexer.cc: use index.maxInitializerLines instead of kInitializerMaxLines

messages/initialize.cc: some ServerCapabilities are toggable:

documentOnTypeFormattingProvider.firstTriggerCharacter
foldingRangeProvider
workspace.workspaceFolders.supported
2019-02-10 18:17:07 +08:00
Fangrui Song
aaa97fe8df GetFallback: append clang.extraArgs
When compile_commands.json is absent, GetFallback is called to get
default clang command line when there is no .ccls or .ccls is empty.
2019-02-10 11:58:18 +08:00
Fangrui Song
03f91f0681 Compute CompletionItemKind from Declaration instead of CursorKind 2019-02-02 14:14:23 +08:00
Riatre Foo
2db67f6edb Fix is_local for vars with non-auto storage period 2018-10-15 23:25:46 +08:00
Riatre Foo
cd0f204349 textDocument/signatureHelp: enable documentation 2018-10-14 07:58:08 +08:00
Fangrui Song
716bc01322 Log {Request,Notification}Message, and timestamp change due to dependency 2019-01-29 15:47:03 +08:00
Riatre Foo
84f7d5081f Fix completion result sorting in VSCode (#210)
Fix #207
2019-01-30 23:21:40 +08:00
Fangrui Song
9bbb288b57 cmake: delete SYSTEM_CLANG and auto-download mechanism 2019-01-22 22:44:13 +08:00
Fangrui Song
343fa74dc1 Implement initialization option compilationDatabaseCommand on Windows 2019-01-21 12:15:28 +08:00
Fangrui Song
c6d56519e3 Drop support for clang 6 2019-01-21 10:44:44 +08:00
Fangrui Song
f496580081 Add -log-file=stderr and make it default
Change -log-file-append to a boolean flag
2019-01-21 10:20:07 +08:00
Fangrui Song
c592f95be0 completion: if preamble size changes, rebuild it
Fix #190

If a new header is added, the preamble size changes. Language clients may cache completion results, thus we rebuild preamble to avoid inaccurate results.
2019-01-13 18:33:18 +08:00
Fangrui Song
962dcf93c1 Update wiki links and delete comparison with cquery 2019-01-04 10:54:20 +08:00
Fangrui Song
f99cf50456 textDocument/didOpen: index related files when a header is opened
Fix #180

index.initialBlacklist: ["."] can inhibit initial indexing (useful for larger code bases).
Opened files are still indexed, though.
This heuristic allows related files (a/foo.c a/b/foo.cc) to be indexed when a header (foo.h) is opened.
2019-11-09 20:09:13 -08:00
Fangrui Song
8835a555f8 Delay requests if the document has not not indexed (#176)
This fixes a plethora of "not indexed" errors when the document has not been indexed.

* Message handler throws NotIndexed if not overdue
* The message is put into backlog and tagged with backlog_path
* path2backlog[path] tracks backlog associated with document `path`
* The backlog is cleared when the index is merged
* backlog[0] is forced to run if it becomes overdue
2019-11-09 20:09:13 -08:00
Fangrui Song
dd74d03cfc Adjust FrontendOpts.Inputs[0] for inferred files 2019-11-09 20:09:13 -08:00
Fangrui Song
52e0289245 Handle file deletion and register workspace/didChangeWatchedFiles
* In the "initialized" callback, send client/registerCapability with DidChangeWatchedFilesRegistrationOptions
* In workspace/didChangeWatchedFiles callback, call pipeline::Index
* In pipeline::Index, add a `deleted` status
2019-11-09 20:09:13 -08:00
Fangrui Song
ab48179946 Make cacheDirectory related to project root; delete Timer 2019-11-09 20:09:13 -08:00
Fangrui Song
45ac75fce3 completion: ignore CXXDeductionGuide
Fix #173
2019-11-09 20:09:13 -08:00
Fangrui Song
c085e07b19 Extend .ccls
* Add %h for C header files (the suffix .h is considered a C header, not a C++ header)
* Add %hpp for C++ header files
* If .ccls exists, it provides full command line for files not specified by compile_commands.json (before, compile_commands.json was ignored)
* If the first line of .ccls is %compile_commands.json, it appends flags to compile_commands.json "arguments", instead of overriding.
  Files not specified by compile_commands.json will not be added to folder.entries, but their command line can be inferred from other files.

Also fix `#include <` completion of -I flags for clang < 8
2019-11-09 20:09:13 -08:00
Fangrui Song
3edda5cf76 Make -v=1 work and log cflags for SemaManager session and Indexer 2019-11-09 20:09:13 -08:00
Fangrui Song
6e8a45b25e Add strict to FuzzyMatcher::Match
In completion, underscore prefixed builtin macros may be annoying when the first type character is not an underscore.

When `strict` is true, `Match` enforces the first characters should be loosely of the same category.
2019-11-09 20:09:13 -08:00
Fangrui Song
836caba19b ParameterInformation: use label: [number, number]
Don't bother checking signatureHelp.signatureInformationparameterInformation.labelOffsetSupport
2019-11-09 20:09:13 -08:00
Fangrui Song
49ae9e8912 Support textDocument/declaration & LocationLink
textDocument/{declaration,definition,typeDefinition} return either LocationLink[] or Location[]
Add an initialization option client.linkSupport . When it is false, ccls will return Location[] disregarding client's linkSupport.
`struct LocationLink` does not include originSelectionRange as it is wasteful.
2019-11-09 20:09:13 -08:00
Fangrui Song
e3133bea90 cmake_minimum_required 3.8; clean up 2019-11-09 20:09:13 -08:00
Fangrui Song
20e0beb9f3 Rendezvous after receiving "exit" notification (#159) 2019-11-09 20:09:13 -08:00
Fangrui Song
c06c2ca324 Support multiple -init=
Initialization options are applied (deserialized to the same object) in the following order:

* "initializationOptions" from client
* first -init=
* second -init=
* ...

Scalar options will be overridden but arrays will get concatenated, e.g.

ccls -log-file=/dev/stderr -index . -init='{"clang":{"extraArgs":["-DA"]}}' -init='{"clang":{"extraArgs":["-DB"]}}'

results in clang.extraArgs: ["-DA", "-DB"]
2019-11-09 20:09:13 -08:00
Leszek Swirski
25c8928121 Spin IncludeComplete's destructor until scanning completes (#147) 2019-11-09 20:09:13 -08:00
Fangrui Song
c941ca1bcd query: fix UpdateUses when a new entity is seen; simplify {DeclRef,Use,Usr}Update
Thanks to Leszek Swirski
2019-11-09 20:09:13 -08:00
Fangrui Song
a47fb42e30 Refactor serializer
Delete virtual bases Reader & Writer
Delete unused MAKE_REFLECT_STRUCT_WRITER_AS_ARRAY
Merge serializers/{json,binary}.hh into serializer.{hh,cc}
MAKE_REFLECT_STRUCT => REFLECT_STRUCT
MAKE_REFLECT_TYPE_PROXY => REFLECT_UNDERLYING
2019-11-09 20:09:13 -08:00
Fangrui Song
a599aef482 Add ReplyOnce::NotReady and error if didOpen is not seen
Use IgnoringDiagConsumer to override default TextDiagnosticPrinter
2019-11-09 20:09:13 -08:00
Fangrui Song
9ad2450009 Refactor WorkingFiles and CompletionManager
* WorkingFiles::files : vector -> unordered_map
* Add timestamp to WorkingFile

* Rename "comp-preload" thread to "preamble"
* Rename CompletionManager to SemaManager as it is used by "diag" "comp" "preamble"
* Rename clang_complete.* to sema_manager.*
* Merge SemaManager::{preloads,sessions}
* Add initialization option session.maxNum
* In DiagnosticMain, if an included file was modified, cancel the DiagTask and create a PreambleTask instead. The task sets `from_diag` so as to trigger immediate DiagTask after the preamble is built.
2019-11-09 20:09:13 -08:00
Fangrui Song
b9369e055a completion: use Text for Macro{Instantiation,Definition} 2019-11-09 20:09:13 -08:00
Fangrui Song
c6c234725a Fix ComputeGuessScore and delete dead code
Thanks to CXuesong
2019-11-09 20:09:13 -08:00
Fangrui Song
65d856cf8a Merge maybe.hh into utils.hh 2019-11-09 20:09:13 -08:00
Fangrui Song
880c515d64 Merge query.hh and query_util.hh 2019-11-09 20:09:13 -08:00
Fangrui Song
d6dd932e6d Refactor Matcher to use pimpl and merge match.hh into utils.hh 2019-11-09 20:09:13 -08:00
Fangrui Song
38e87a0729 Make EmptyParam empty & rewrite LruCache 2019-11-09 20:09:13 -08:00
Fangrui Song
9603a73421 constexpr std::string_view -> const std::string_view
This works around gcc 7.2/clang rC347417 which have a bad interaction with libstdc++'s implementation of P0426
constexpr std::string_view also emits a string_view object in .rodata that cannot be optimized out by clang (which means larger object file size)

So use good old const.
2019-11-09 20:09:13 -08:00
Fangrui Song
7f8f68c0b2 codeAction: use codeActionProvider: CodeActionOptions and respect CodeActionParams::range 2019-11-09 20:09:13 -08:00
Fangrui Song
19d38bc1d2 Make DocumentLink::range narrower
Thanks to Riatre #135
2019-11-09 20:09:13 -08:00
Fangrui Song
0f0c328a91 completion: delete insertText; don't set filterText if it is the same as label
It decreases Content-Length: from 32K to 25K for the following case:

 #include <bits/stdc++.h>
int main() { std::| }

Also

* make results deterministic when completion text is empty
* sort by newText, label, filterText
2019-11-09 20:09:13 -08:00
Fangrui Song
98be09cc2e serializer: make visitor/vis value/v consistent 2019-11-09 20:09:13 -08:00
Fangrui Song
741d8f2130 Refactor ReplyOnce; error if InitializeParams.rootUri is null 2019-11-09 20:09:13 -08:00
Fangrui Song
8f442c6c35 indexer: handle DecltypeType and empty main file; diag: -Wno-unused-function for headers
Don't replace name with qualified name in Cls::*name
2019-11-09 20:09:13 -08:00
Fangrui Song
e27a5eaff9 .ccls: add %objective-c %objective-cpp
Also allow multiple directives on a line, e.g. %c %cpp -DFOO
2019-11-09 20:09:13 -08:00
Fangrui Song
46d3f075dc Use clang::isIdentifierBody and clean up utils/working_files 2019-11-09 20:09:13 -08:00
Fangrui Song
95bba3ed15 hierarchicalDocumentSymbol: support SymbolKind::Function declaration and uniquify by range
Also ensure selectionRange is a subrange of range, otherwise VSCode won't show the item.
Use detailed_name for 'detail'
2019-11-09 20:09:13 -08:00
Nikolaus Wittenstein
89faa7a6ef Add Apache LICENSE file (#121) 2019-11-09 20:09:13 -08:00
Dso Tsin
e5f7a938b5 Fix VS2017 build issues and add Appveyor CI script (#118) 2019-11-09 20:09:13 -08:00
Fangrui Song
985f5ec4d3 Use SM.isWrittenInMainFile; suppress -Werror in preamble
SM.isWrittenInMainFile is to work around preamble bug: spurious err_pp_unterminated_conditional with circular #include
2019-11-09 20:09:13 -08:00
Fangrui Song
d9a31a72bd hierarchicalDocumentSymbol: display member function declarations 2019-11-09 20:09:13 -08:00
Fangrui Song
aaa5008ec6 Fix some MSVC 2017 errors
Thanks to Dso Tsin!
2019-11-09 20:09:13 -08:00
Fangrui Song
d398e071dc If clang >= 8, delete search path detection and use Sema::CodeCompleteIncludedFile 2019-11-09 20:09:13 -08:00
Fangrui Song
444f0db1f2 Work around relative --sysroot= 2019-11-09 20:09:13 -08:00
Fangrui Song
02a6f39559 Improve semantic highlight in templates 2019-11-09 20:09:13 -08:00
Fangrui Song
09669fff76 Reduce MAKE_REFLECT_STRUCT in lsp.hh
Position -> Pos; lsPosition -> Position
2019-11-09 20:09:13 -08:00
Fangrui Song
0d4f4b68c0 Remove ls prefix from many LSP interfaces
Rename SymbolKind to Kind & lsSymbolKind to SymbolKind
Use textDocumentSync: TextDocumentSyncOptions
2019-11-09 20:09:13 -08:00
Fangrui Song
9a6851c6a5 Misc 2019-11-09 20:09:13 -08:00
Fangrui Song
353b398a73 Simplify and work around vscode _sortTextLow 2019-11-09 20:09:13 -08:00
Fangrui Song
857f41c247 project.cc: deduplicate more cases 2019-11-09 20:09:13 -08:00
Fangrui Song
c598f3ebbd Fix EnumConstantDecl's kind & EnumDecl's vars 2019-11-09 20:09:13 -08:00
Fangrui Song
c8e57ee7b3 textDocument/references workspace/symbol: add folders
For textDocument/reference, base/excludeRole/role has been lifted from params.context.* to params.*
2019-11-09 20:09:13 -08:00
Fangrui Song
c4bf9c5d6a Report InvalidParams for serialization error 2019-11-09 20:09:13 -08:00
Fangrui Song
c1422c7a8d Simplify and better compatibility with encodings retaining the feature of low bytes being 1-byte characters 2019-11-09 20:09:13 -08:00
Fangrui Song
bbce333042 *.h -> *.hh 2019-11-09 20:09:13 -08:00
Fangrui Song
3cd0ee2fc7 Refactor message handler and namespace ccls 2019-11-09 20:09:11 -08:00
Fangrui Song
8fa853c321 Implement textDocument/documentLink 2019-11-09 20:03:28 -08:00
Fangrui Song
617cdd89de Implement textDocument/foldingRange 2019-11-09 20:03:28 -08:00
David F
f6472061d3 Fix broken link in README.md (#101) 2019-11-09 20:03:28 -08:00
Fangrui Song
4f8889c195 Deprioritize completion items with additionTextEdits 2019-11-09 20:03:28 -08:00
Fangrui Song
dc20ea3b33 Fix textDocument/implementation 2019-11-09 20:03:28 -08:00
Fangrui Song
66bf514b5f Add command line option -index=root to index without starting language server 2019-11-09 20:03:28 -08:00
Fangrui Song
a56b6fb228 Improve DeducedType 2019-11-09 20:03:28 -08:00
Fangrui Song
18b47d3f5c Improve extent of definition/declaration; uniquify typeDefinition 2019-11-09 20:03:28 -08:00
Fangrui Song
46cfd5504a Simplify 2019-11-09 20:03:28 -08:00
Fangrui Song
5fbe4eac83 Add ExtentRef; merge symbol2refcnt and outline2refcnt
Fix hierarchical document symbol for namespaces when there are multiple declarations.
2019-11-09 20:03:28 -08:00
Fangrui Song
bc4dc6720b Add pipeline::{Notify,Reply,ReplyError} and simplify message handling
Delete method.{cc,h}
Rename $ccls/setSkippedRanges to $ccls/publishSkippedRanges
Rename $ccls/publishSemanticHighlighting to $ccls/publishSemanticHighlight; stableId -> id
2019-11-09 20:03:28 -08:00
Fangrui Song
4a1eea75db Misc changes to project
* Better LanguageId detection with clangDriver (e.g. .cu -> types::TY_CUDA)
* fallback when there is no .ccls or compile_commands.json

Also Hide clangTooling options from --help
2019-11-09 20:03:28 -08:00
Fangrui Song
40b47f9ca3 Adapt trunk change and write comments to PCH 2019-11-09 20:03:28 -08:00
Fangrui Song
f9cf7854fa -DSYSTEM_CLANG=off: 6.0.1 -> 7.0.0 2019-11-09 20:03:28 -08:00
Riatre Foo
ec71d4c6c0 Fix hierarchical document symbol
1. Fixed a bug on building document symbol tree: As sym2ds was updated in
place, nested funcs/types may be moved into children of another
lsDocumentSymbol before itself got processed.

2. Namespaces only have declarations, in the old implementation it wasn't included in the result, making the result less hierarchical. This
commit fixes this by including the declarations of a symbol if no
definitions found.
2019-11-09 20:03:28 -08:00
Fangrui Song
82deedf8c3 Add namespace alias clang::vfs = llvm::vfs to adapt D52783
vfs::x should be written as llvm::vfs::x to work around a [namepace.udir] bug before GCC 8 when namespace alias is used
2019-11-09 20:03:28 -08:00
Fangrui Song
7b19c87485 Namespace: improve indexer and don't trace bases in $ccls/member 2019-11-09 20:03:28 -08:00
Riatre Foo
3de62168c8 Fix additionalTextEdits -> textEdit hack for VS Code (#89)
* Fix additionalTextEdits -> textEdit hack for VS Code

Visual Studio Code filters the completion result according to
textEdit.range and filterText, if the textEdit.range overlaps with
existing text, we have to include it in filterText, otherwise it would
be filtered out.

* Fix has_open_paren in FilterCandidates
2019-11-09 20:03:28 -08:00
Fangrui Song
49dd0ed558 Support workspace folders 2019-11-09 20:03:28 -08:00
Fangrui Song
e352604ee4 Improve completion
blacklist some undesired candidates
additionalTextEdits if clang>=7
Use CodePatterns for preprocessor directive completion if there is a #
Prefer textEdit over insertText
2019-11-09 20:03:28 -08:00
Fangrui Song
a920e71711 Clean and update tests after Index* refactoring 2019-11-09 20:03:28 -08:00
Fangrui Song
2864f2c647 Use DeclRef spell to represent Use spell + Use extent 2019-11-09 20:03:28 -08:00
Fangrui Song
08b09bc1da Redesign SymbolRef, Ref, Use
Remove lsLocationEx
2019-11-09 20:03:28 -08:00
Fangrui Song
0c5c3a11be Add completion.maxNum: 100 2019-11-09 20:03:28 -08:00
Fangrui Song
8b2565fcd0 For $ccls/member, use unadjusted RecordDecl (if there is forward declaration) and handle ClassTemplateSpecialization 2019-11-09 20:03:28 -08:00
Fangrui Song
2592dd41dd Add PreambleStatCache 2019-11-09 20:03:28 -08:00
Fangrui Song
31314555bb Use pthread if defined(__unix__) || defined(__APPLE__) 2019-11-09 20:03:28 -08:00
firstlove
9a79b2ece1 regard conversion as method instead of constructor 2019-11-09 20:03:28 -08:00
Fangrui Song
3337d3de8c Add $ccls/info 2019-11-09 20:03:28 -08:00
Fangrui Song
3c332b91de Clean 2019-11-09 20:03:28 -08:00
Fangrui Song
fa2234c894 Use non-inferred entries and build preamble for .h; index on didOpen if no pending requests; documentHighlight 2019-11-09 20:03:28 -08:00
Fangrui Song
083a629f90 Rename some initialization options
* Delete index.enabled which can be achieved with index.blacklist: ['.']
* Move completion.include* to completion.include.*
* move largeFileSize to highlight.largeFileSize
2019-11-09 20:03:28 -08:00
Fangrui Song
8d61b1aadb Revamp codeLens & codeAction
b.ref: references of bases
d.ref: references of derived
when b.ref > 0, don't display 0 ref or x bases
2019-11-09 20:03:28 -08:00
Fangrui Song
153e5c0dcc Construct SourceManager with UserFilesAreVolatile
Prettify pipeline
2019-11-09 20:03:28 -08:00
Fangrui Song
7eacd2664f Support textDocument/{formatting,onTypeFormatting,rangeFormatting} 2019-11-09 20:03:26 -08:00
Fangrui Song
ae19826411 Merge textDocument_did{Change,Close,Open,Save}.cc 2019-11-09 20:01:34 -08:00
Amos Bird
93b5fa198c Update threaded_queue.h (#82)
https://en.cppreference.com/w/cpp/language/fold
2019-11-09 19:58:32 -08:00
239 changed files with 13507 additions and 14605 deletions

22
.appveyor.yml Normal file
View File

@ -0,0 +1,22 @@
version: "{build}"
os: Visual Studio 2017
platform:
- x64
build:
parallel: true # enable MSBuild parallel builds
verbosity: minimal
install:
- if not exist llvm.tar.xz appveyor DownloadFile "https://ziglang.org/deps/llvm+clang-7.0.0-win64-msvc-release.tar.xz" -FileName llvm.tar.xz
- 7z e -txz llvm.tar.xz
- 7z x llvm.tar
- git submodule update --init --recursive
build_script:
- cmake -G"Visual Studio 15 2017 Win64" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:\projects\ccls\llvm+clang-7.0.0-win64-msvc-release
- cmake --build build --target ccls --config Release
artifacts:
- path: build\Release

View File

@ -1 +1,2 @@
BasedOnStyle: LLVM
ColumnLimit: 120

36
.github/ISSUE_TEMPLATE vendored Normal file
View File

@ -0,0 +1,36 @@
Here are some things you should try before filing a bug report:
+ For client issues related to [emacs-ccls](https://github.com/MaskRay/emacs-ccls) or [vscode-ccls](https://github.com/MaskRay/vscode-ccls), report in their own repository.
+ For build problems, check https://github.com/MaskRay/ccls/wiki/Build
+ Check https://github.com/MaskRay/ccls/wiki/Debugging
+ Check [the FAQ](https://github.com/MaskRay/ccls/wiki/FAQ) to see if your issue is mentioned.
If none of those help, remove this section and fill out the four sections in the template below.
---
### Observed behavior
Describe what happened. Any aids you can include (that you think could be relevant) are a tremendous help.
* `compile_commands.json` or `.ccls` ([wiki/Project-Setup](https://github.com/MaskRay/ccls/wiki/Project-Setup))
* Reduce to A minimal set of `.c` `.cc` `.h` `.hh` files that can still demonstrate the issue.
* Consider a screencast gif.
### Expected behavior
Describe what you expected to happen.
### Steps to reproduce
1. Select these example steps,
2. Delete them,
3. And replace them with precise steps to reproduce your issue.
### System information
* ccls version (`git describe --tags --long`):
* clang version:
* OS:
* Editor:
* Language client (and version):

16
.gitignore vendored
View File

@ -1,5 +1,11 @@
.*
build
debug
release
/compile_commands.json
/*
!/.github/
!/index_tests/
!/src/
!/third_party/
!/.appveyor.yml
!/.clang-format
!/CMakeLists.txt
!/LICENSE
!/README.md
!/meow/

View File

@ -1,46 +1,34 @@
cmake_minimum_required(VERSION 3.1)
project(ccls LANGUAGES CXX)
cmake_minimum_required(VERSION 3.8)
project(ccls LANGUAGES CXX C)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
include(DefaultCMakeBuildType)
# Required Clang version
set(CLANG_DOWNLOAD_LOCATION ${CMAKE_BINARY_DIR}
CACHE STRING "Downloaded Clang location")
option(SYSTEM_CLANG "Use system installation of Clang instead of \
downloading Clang" OFF)
option(ASAN "Compile with address sanitizers" OFF)
option(LLVM_ENABLE_RTTI "-fno-rtti if OFF. This should match LLVM libraries" OFF)
option(CLANG_USE_BUNDLED_LIBC++ "Let Clang use bundled libc++" OFF)
option(USE_SHARED_LLVM "Link against libLLVM.so instead separate LLVM{Option,Support,...}" OFF)
option(USE_SYSTEM_RAPIDJSON "Use system RapidJSON instead of the git submodule if exists" ON)
# Sources for the executable are specified at end of CMakeLists.txt
add_executable(ccls "")
### Compile options
### Default build type
# CMake default compile flags:
# MSVC + Clang(Windows):
# debug: /MDd /Zi /Ob0 /Od /RTC1
# release: /MD /O2 /Ob2 /DNDEBUG
# GCC + Clang(Linux):
# debug: -g
# release: -O3 -DNDEBUG
set(DEFAULT_CMAKE_BUILD_TYPE Release)
# CMAKE_BUILD_TYPE is not available if a multi-configuration generator is used
# (eg Visual Studio generators)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${DEFAULT_CMAKE_BUILD_TYPE}' as none \
was specified.")
set(CMAKE_BUILD_TYPE ${DEFAULT_CMAKE_BUILD_TYPE}
CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE
PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo)
endif()
### Compile options
# Enable C++17 (Required)
set_property(TARGET ccls PROPERTY CXX_STANDARD 17)
set_property(TARGET ccls PROPERTY CXX_STANDARD_REQUIRED ON)
# Disable gnu extensions except for Cygwin which needs them to build properly
if(NOT CYGWIN)
set_property(TARGET ccls PROPERTY CXX_EXTENSIONS OFF)
endif()
if(NOT LLVM_ENABLE_RTTI)
# releases.llvm.org libraries are compiled with -fno-rtti
# The mismatch between lib{clang,LLVM}* and ccls can make libstdc++ std::make_shared return nullptr
# _Sp_counted_ptr_inplace::_M_get_deleter
target_compile_options(ccls PRIVATE -fno-rtti)
endif()
set_property(TARGET ccls PROPERTY CXX_EXTENSIONS OFF)
# CMake sets MSVC for both MSVC and Clang(Windows)
if(MSVC)
@ -50,16 +38,18 @@ if(MSVC)
/EHsc
/D_CRT_SECURE_NO_WARNINGS # don't try to use MSVC std replacements
/W3 # roughly -Wall
/wd4996 # disable loguru unsafe warnings
/wd4722 # ignores warning C4722
# (destructor never returns) in loguru
/wd4996 # ignore deprecated declaration
/wd4267 # ignores warning C4267
# (conversion from 'size_t' to 'type'),
# roughly -Wno-sign-compare
/wd4800
/wd4068 # Disable unknown pragma warning
/std:c++17
/Zc:__cplusplus
$<$<CONFIG:Debug>:/FS>
)
# relink system libs
target_link_libraries(ccls PRIVATE Mincore.lib)
else()
# Common GCC/Clang(Linux) options
target_compile_options(ccls PRIVATE
@ -75,44 +65,51 @@ else()
target_compile_options(ccls PRIVATE
$<$<CONFIG:Debug>:-fno-limit-debug-info>)
endif()
if(ASAN)
target_compile_options(ccls PRIVATE -fsanitize=address,undefined)
# target_link_libraries also takes linker flags
target_link_libraries(ccls PRIVATE -fsanitize=address,undefined)
endif()
endif()
### Download Clang if required
if(NOT SYSTEM_CLANG)
message(STATUS "Using downloaded Clang")
include(DownloadAndExtractClang)
download_and_extract_clang(${CLANG_DOWNLOAD_LOCATION})
# Used by FindClang
set(CLANG_ROOT ${DOWNLOADED_CLANG_DIR})
if(${CMAKE_CXX_COMPILER_ID} STREQUAL Clang AND CLANG_USE_BUNDLED_LIBC++)
message(STATUS "Using bundled libc++")
target_compile_options(ccls PRIVATE -nostdinc++ -cxx-isystem ${CLANG_ROOT}/include/c++/v1)
if(${CMAKE_SYSTEM_NAME} STREQUAL Linux)
# Don't use -stdlib=libc++ because while ccls is linked with libc++, bundled clang+llvm require libstdc++
target_link_libraries(ccls PRIVATE -L${CLANG_ROOT}/lib c++ c++abi)
# FreeBSD defaults to -stdlib=libc++ and uses system libcxxrt.a
endif()
endif()
else()
message(STATUS "Using system Clang")
endif()
### Libraries
# See cmake/FindClang.cmake
find_package(Clang 6.0.0)
target_link_libraries(ccls PRIVATE Clang::Clang)
find_package(Clang REQUIRED)
if(CLANG_LINK_CLANG_DYLIB)
target_link_libraries(ccls PRIVATE clang-cpp)
else()
target_link_libraries(ccls PRIVATE
clangIndex
clangFormat
clangTooling
clangToolingInclusions
clangToolingCore
clangFrontend
clangParse
clangSerialization
clangSema
clangAST
clangLex
clangDriver
clangBasic
)
endif()
if(LLVM_LINK_LLVM_DYLIB)
target_link_libraries(ccls PRIVATE LLVM)
else()
target_link_libraries(ccls PRIVATE LLVMOption LLVMSupport)
if(LLVM_VERSION_MAJOR GREATER_EQUAL 16) # llvmorg-16-init-15123-gf09cf34d0062
target_link_libraries(ccls PRIVATE LLVMTargetParser)
endif()
endif()
if(NOT LLVM_ENABLE_RTTI)
# releases.llvm.org libraries are compiled with -fno-rtti
# The mismatch between lib{clang,LLVM}* and ccls can make libstdc++ std::make_shared return nullptr
# _Sp_counted_ptr_inplace::_M_get_deleter
if(MSVC)
target_compile_options(ccls PRIVATE /GR-)
else()
target_compile_options(ccls PRIVATE -fno-rtti)
endif()
endif()
# Enable threading support
set(THREADS_PREFER_PTHREAD_FLAG ON)
@ -126,80 +123,95 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD)
target_link_libraries(ccls PRIVATE thr)
endif()
if(LLVM_ENABLE_ZLIB)
find_package(ZLIB)
endif()
### Definitions
target_compile_definitions(ccls PRIVATE
DEFAULT_RESOURCE_DIRECTORY=R"\(${Clang_RESOURCE_DIR}\)")
# Find Clang resource directory with Clang executable.
if(NOT CLANG_RESOURCE_DIR)
find_program(CLANG_EXECUTABLE clang)
if(NOT CLANG_EXECUTABLE)
message(FATAL_ERROR "clang executable not found.")
endif()
execute_process(
COMMAND ${CLANG_EXECUTABLE} -print-resource-dir
RESULT_VARIABLE CLANG_FIND_RESOURCE_DIR_RESULT
OUTPUT_VARIABLE CLANG_RESOURCE_DIR
ERROR_VARIABLE CLANG_FIND_RESOURCE_DIR_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(CLANG_FIND_RESOURCE_DIR_RESULT)
message(FATAL_ERROR "Error retrieving Clang resource directory with Clang \
executable. Output:\n ${CLANG_FIND_RESOURCE_DIR_ERROR}")
endif()
endif()
set_property(SOURCE src/utils.cc APPEND PROPERTY COMPILE_DEFINITIONS
CLANG_RESOURCE_DIRECTORY=R"\(${CLANG_RESOURCE_DIR}\)")
### Includes
if(USE_SYSTEM_RAPIDJSON)
set(RapidJSON_MIN_VERSION "1.1.0")
find_package(RapidJSON ${RapidJSON_MIN_VERSION} QUIET)
if(NOT DEFINED RapidJSON_INCLUDE_DIRS AND DEFINED RAPIDJSON_INCLUDE_DIRS)
set(RapidJSON_INCLUDE_DIRS "${RAPIDJSON_INCLUDE_DIRS}")
endif()
endif()
if(NOT RapidJSON_FOUND)
if(EXISTS "${CMAKE_SOURCE_DIR}/third_party/rapidjson/include")
message(STATUS "Using local RapidJSON")
set(RapidJSON_INCLUDE_DIRS third_party/rapidjson/include)
else()
message(STATUS "Plase initialize rapidJSON git submodule as currently installed version is to old:")
message(STATUS "git submodule init && git submodule update")
message(FATAL_ERROR "RapidJSON version is likely too old. See https://github.com/MaskRay/ccls/issues/455")
endif()
endif()
target_include_directories(ccls PRIVATE src)
target_include_directories(ccls SYSTEM PRIVATE
third_party
third_party/rapidjson/include)
foreach(include_dir third_party
${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS} ${RapidJSON_INCLUDE_DIRS})
get_filename_component(include_dir_realpath ${include_dir} REALPATH)
# Don't add as SYSTEM if they are in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
# It would reorder the system search paths and cause issues with libstdc++'s
# use of #include_next. See https://github.com/MaskRay/ccls/pull/417
if(NOT "${include_dir_realpath}" IN_LIST CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES)
target_include_directories(ccls SYSTEM PRIVATE ${include_dir})
endif()
endforeach()
### Install
install(TARGETS ccls RUNTIME DESTINATION bin)
if(NOT SYSTEM_CLANG AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL Windows)
if(${CMAKE_SYSTEM_NAME} MATCHES Linux|FreeBSD)
set_property(TARGET ccls APPEND PROPERTY
INSTALL_RPATH $ORIGIN/../lib)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
set_property(TARGET ccls APPEND PROPERTY
INSTALL_RPATH @loader_path/../lib)
endif()
file(GLOB LIBCLANG_PLUS_SYMLINKS
${DOWNLOADED_CLANG_DIR}/lib/libclang.[so,dylib]*)
install(FILES ${LIBCLANG_PLUS_SYMLINKS} DESTINATION lib)
endif()
# Allow running from build Windows by copying libclang.dll to build directory
if(NOT SYSTEM_CLANG AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows)
add_custom_command(TARGET ccls
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${DOWNLOADED_CLANG_DIR}/bin/libclang.dll
$<TARGET_FILE_DIR:ccls>
COMMENT "Copying libclang.dll to build directory ...")
endif()
### Tools
# We use glob here since source files are already manually added with
# target_sources further down
file(GLOB SOURCES src/*.cc src/*.h src/serializers/*.cc src/serializers/*.h
src/messages/*.h src/messages/*.cc)
### Sources
target_sources(ccls PRIVATE third_party/siphash.cc)
target_sources(ccls PRIVATE
src/clang_complete.cc
src/clang_tu.cc
src/config.cc
src/filesystem.cc
src/fuzzy_match.cc
src/main.cc
src/include_complete.cc
src/indexer.cc
src/method.cc
src/language.cc
src/log.cc
src/lsp.cc
src/match.cc
src/message_handler.cc
src/pipeline.cc
src/platform_posix.cc
src/platform_win.cc
src/position.cc
src/project.cc
src/query_utils.cc
src/query.cc
src/sema_manager.cc
src/serializer.cc
src/test.cc
src/utils.cc
@ -208,32 +220,42 @@ target_sources(ccls PRIVATE
target_sources(ccls PRIVATE
src/messages/ccls_call.cc
src/messages/ccls_fileInfo.cc
src/messages/ccls_info.cc
src/messages/ccls_inheritance.cc
src/messages/ccls_member.cc
src/messages/ccls_navigate.cc
src/messages/ccls_reload.cc
src/messages/ccls_vars.cc
src/messages/exit.cc
src/messages/initialize.cc
src/messages/shutdown.cc
src/messages/textDocument_codeAction.cc
src/messages/textDocument_codeLens.cc
src/messages/textDocument_code.cc
src/messages/textDocument_completion.cc
src/messages/textDocument_definition.cc
src/messages/textDocument_didChange.cc
src/messages/textDocument_didClose.cc
src/messages/textDocument_didOpen.cc
src/messages/textDocument_didSave.cc
src/messages/textDocument_documentHighlight.cc
src/messages/textDocument_documentSymbol.cc
src/messages/textDocument_did.cc
src/messages/textDocument_foldingRange.cc
src/messages/textDocument_formatting.cc
src/messages/textDocument_document.cc
src/messages/textDocument_hover.cc
src/messages/textDocument_implementation.cc
src/messages/textDocument_references.cc
src/messages/textDocument_rename.cc
src/messages/textDocument_signatureHelp.cc
src/messages/textDocument_typeDefinition.cc
src/messages/workspace_didChangeConfiguration.cc
src/messages/workspace_didChangeWatchedFiles.cc
src/messages/workspace_symbol.cc
src/messages/workspace.cc
)
### Obtain CCLS version information from Git
### This only happens when cmake is re-run!
if(NOT CCLS_VERSION)
execute_process(COMMAND git describe --tag --long HEAD
OUTPUT_VARIABLE CCLS_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
if(NOT CCLS_VERSION)
set(CCLS_VERSION "<unknown>")
endif()
endif()
set_property(SOURCE src/main.cc APPEND PROPERTY
COMPILE_DEFINITIONS CCLS_VERSION=\"${CCLS_VERSION}\")
set_property(SOURCE src/messages/initialize.cc APPEND PROPERTY
COMPILE_DEFINITIONS CCLS_VERSION=\"${CCLS_VERSION}\")

201
LICENSE Normal file
View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,16 +1,17 @@
# ccls
[![Telegram](https://img.shields.io/badge/telegram-@cclsp-blue.svg)](https://telegram.me/cclsp)
[![Telegram](https://img.shields.io/badge/telegram-@cclsp-blue.svg)](https://telegram.me/ccls_lsp)
[![Gitter](https://img.shields.io/badge/gitter-ccls--project-blue.svg?logo=gitter-white)](https://gitter.im/ccls-project/ccls)
ccls, which originates from [cquery](https://github.com/cquery-project/cquery), is a C/C++/Objective-C language server.
* code completion (with both signature help and snippets)
* [definition](src/messages/textDocument_definition.cc)/[references](src/messages/textDcument_references.cc), and other cross references
* [definition](src/messages/textDocument_definition.cc)/[references](src/messages/textDocument_references.cc), and other cross references
* cross reference extensions: `$ccls/call` `$ccls/inheritance` `$ccls/member` `$ccls/vars` ...
* formatting
* hierarchies: [call (caller/callee) hierarchy](src/messages/ccls_call.cc), [inheritance (base/derived) hierarchy](src/messages/ccls_inheritance.cc), [member hierarchy](src/messages/ccls_member.cc)
* [symbol rename](src/messages/textDocument_rename.cc)
* [document symbols](src/messages/textDocument_documentSymbol.cc) and approximate search of [workspace symbol](src/messages/workspace_symbol.cc)
* [document symbols](src/messages/textDocument_document.cc) and approximate search of [workspace symbol](src/messages/workspace.cc)
* [hover information](src/messages/textDocument_hover.cc)
* diagnostics and code actions (clang FixIts)
* semantic highlighting and preprocessor skipped regions
@ -20,28 +21,9 @@ It has a global view of the code base and support a lot of cross reference featu
It starts indexing the whole project (including subprojects if exist) parallelly when you open the first file, while the main thread can serve requests before the indexing is complete.
Saving files will incrementally update the index.
Compared with cquery, it makes use of C++17 features, has less third-party dependencies and slimmed-down code base.
It leverages Clang C++ API as [clangd](https://clang.llvm.org/extra/clangd.html) does, which provides better support for code completion and diagnostics.
Refactoring and formatting are non-goals as they can be provided by clang-format, clang-include-fixer and other Clang based tools.
The comparison with cquery as noted on 2018-07-15:
| | cquery | ccls |
|------------ |--------------------------------|------------------------------|
| third_party | more | fewer |
| C++ | C++14 | C++17 |
| clang API | libclang (C) | clang/llvm C++ |
| Filesystem | AbsolutePath + custom routines | llvm/Support |
| index | libclang | clangIndex, some enhancement |
| pipeline | index merge+id remapping | simpler and more robust |
cquery has system include path detection (through running the compiler driver) while ccls uses clangDriver.
# >>> [Getting started](../../wiki/Getting-started) (CLICK HERE) <<<
# >>> [Getting started](../../wiki/Home) (CLICK HERE) <<<
* [Build](../../wiki/Build)
* [Emacs](../../wiki/Emacs)
* [LanguageClient-neovim](../../wiki/LanguageClient-neovim)
* [FAQ](../../wiki/FAQ)
ccls can index itself (~180MiB RSS when ide, noted on 2018-09-01), FreeBSD, glibc, Linux, LLVM (~1800MiB RSS), musl (~60MiB RSS), ... with decent memory footprint. See [wiki/compile_commands.json](../../wiki/compile_commands.json) for examples.
ccls can index itself (~180MiB RSS when idle, noted on 2018-09-01), FreeBSD, glibc, Linux, LLVM (~1800MiB RSS), musl (~60MiB RSS), ... with decent memory footprint. See [wiki/Project-Setup](../../wiki/Project-Setup) for examples.

View File

@ -1,45 +0,0 @@
#!/usr/bin/env bash
root=$(cd "$(dirname "$0")/.."; pwd)
version=$(TZ=UTC date +v%Y%m%d)
cd "$root/build/release"
case $(uname -s) in
Darwin)
libclang=(lib/clang+llvm-*/lib/libclang.dylib)
strip_option="-x"
name=ccls-$version-x86_64-apple-darwin ;;
FreeBSD)
libclang=(lib/clang+llvm-*/lib/libclang.so.?)
strip_option="-s"
name=ccls-$version-x86_64-unknown-freebsd10 ;;
Linux)
libclang=(lib/clang+llvm-*/lib/libclang.so.?)
strip_option="-s"
name=ccls-$version-x86_64-unknown-linux-gnu ;;
*)
echo Unsupported >&2
exit 1 ;;
esac
pkg=$(mktemp -d)
mkdir "$pkg/$name"
rsync -rtLR bin "./${libclang[-1]}" ./lib/clang+llvm-*/lib/clang/*/include "$pkg/$name"
cd "$pkg"
strip "$strip_option" "$name/bin/ccls" "$name/${libclang[-1]}"
case $(uname -s) in
Darwin)
# https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/tar.1.html
# macOS's bsdtar is lack of flags to set uid/gid.
# First, we generate a list of file in mtree format.
tar -cf filelist --format=mtree --options="!all,time,mode,type" "$name"
# Then add a line "/set uid=0 gid=0" after the first line "#mtree".
awk '/#mtree/{print;print "/set uid=0 gid=0";next}1' filelist > newflielist
# Finally, use the list to generate the tarball.
tar -zcf "$root/build/$name.tar.gz" @newflielist ;;
Linux)
tar -Jcf "$root/build/$name.tar.xz" --owner 0 --group 0 $name ;;
*)
tar -Jcf "$root/build/$name.tar.xz" --uid 0 --gid 0 $name ;;
esac
rm -r "$pkg"

View File

@ -1 +0,0 @@
780276221635aa08120187ffc2c72ff7873dee37f5609455ee7bba6fcdd91d79

View File

@ -1 +0,0 @@
0ef8e99e9c9b262a53ab8f2821e2391d041615dd3f3ff36fdf5370916b0f4268

View File

@ -1 +0,0 @@
6d1f67c9e7c3481106d5c9bfcb8a75e3876eb17a446a14c59c13cafd000c21d2

View File

@ -1 +0,0 @@
7ea204ecd78c39154d72dfc0d4a79f7cce1b2264da2551bb2eef10e266d54d91

View File

@ -1,14 +0,0 @@
set(DEFAULT_CMAKE_BUILD_TYPE Release)
# CMAKE_BUILD_TYPE is not available if a multi-configuration generator is used
# (eg Visual Studio generators)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${DEFAULT_CMAKE_BUILD_TYPE}' as none \
was specified.")
set(CMAKE_BUILD_TYPE ${DEFAULT_CMAKE_BUILD_TYPE}
CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE
PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo)
endif()

View File

@ -1,52 +0,0 @@
# Downloads and extracts the 7-Zip MSI installer from https://www.7-zip.org/.
#
# Returns the extracted 7-Zip directory in DOWNLOADED_7ZIP_DIR
function(download_and_extract_7zip 7ZIP_DOWNLOAD_LOCATION)
set(7ZIP_VERSION 1801)
set(7ZIP_EXT .msi)
set(7ZIP_NAME 7z${7ZIP_VERSION}-x64)
set(7ZIP_FULL_NAME ${7ZIP_NAME}${7ZIP_EXT})
set(7ZIP_FILE ${7ZIP_DOWNLOAD_LOCATION}/${7ZIP_FULL_NAME})
set(7ZIP_EXTRACT_DIR ${7ZIP_DOWNLOAD_LOCATION}/${7ZIP_NAME})
set(7ZIP_URL https://www.7-zip.org/a/${7ZIP_FULL_NAME})
# Exit if 7-Zip is already downloaded and extracted
find_program(7ZIP_EXECUTABLE 7z NO_DEFAULT_PATH
PATHS ${7ZIP_EXTRACT_DIR}/Files/7-Zip)
if(7ZIP_EXECUTABLE)
message(STATUS "7-Zip already downloaded")
return()
endif()
message(STATUS "Downloading 7-Zip ${7ZIP_VERSION} (${7ZIP_URL}) ...")
file(DOWNLOAD ${7ZIP_URL} ${7ZIP_FILE})
find_program(MSIEXEC_EXECUTABLE msiexec)
if(NOT MSIEXEC_EXECUTABLE)
message(FATAL_ERROR "Unable to find msiexec (required to extract 7-Zip msi \
installer). Install 7-Zip yourself and make sure it is available in the path")
endif()
message(STATUS "Extracting downloaded 7-Zip ...")
# msiexec requires Windows path separators (\)
file(TO_NATIVE_PATH ${7ZIP_FILE} 7ZIP_FILE)
file(TO_NATIVE_PATH ${7ZIP_EXTRACT_DIR} 7ZIP_EXTRACT_DIR)
# msiexec with /a option allows extraction of msi installers without requiring
# admin privileges. We use this to extract the 7-Zip installer without
# requiring any actions from the user
execute_process(COMMAND ${MSIEXEC_EXECUTABLE} /a ${7ZIP_FILE} /qn
TARGETDIR=${7ZIP_EXTRACT_DIR}
WORKING_DIRECTORY ${7ZIP_DOWNLOAD_LOCATION}
OUTPUT_QUIET)
# Convert back to CMake separators (/) before returning
file(TO_CMAKE_PATH ${7ZIP_EXTRACT_DIR} 7ZIP_EXTRACT_DIR)
# Actual 7-Zip directory is nested inside the extract directory.
set(DOWNLOADED_7ZIP_DIR ${7ZIP_EXTRACT_DIR}/Files/7-Zip PARENT_SCOPE)
endfunction()

View File

@ -1,131 +0,0 @@
# Downloads and extracts the Clang archive for the current system from
# https://releases.llvm.org
#
# Returns the extracted Clang archive directory in DOWNLOADED_CLANG_DIR
#
# Downloads 7-Zip to extract Clang if it isn't available in the PATH
function(download_and_extract_clang CLANG_DOWNLOAD_LOCATION)
set(CLANG_VERSION 6.0.1)
set(CLANG_ARCHIVE_EXT .tar.xz)
if(${CMAKE_SYSTEM_NAME} STREQUAL Linux)
# Default to Ubuntu 16.04
set(CLANG_ARCHIVE_NAME
clang+llvm-${CLANG_VERSION}-x86_64-linux-gnu-ubuntu-16.04)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
# No Darwin binaries were released for LLVM 6.0.1
set(CLANG_VERSION 6.0.0)
set(CLANG_ARCHIVE_NAME clang+llvm-${CLANG_VERSION}-x86_64-apple-darwin)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Windows)
set(CLANG_ARCHIVE_NAME LLVM-${CLANG_VERSION}-win64)
set(CLANG_ARCHIVE_EXT .exe)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD)
set(CLANG_ARCHIVE_NAME clang+llvm-${CLANG_VERSION}-amd64-unknown-freebsd10)
endif()
set(CLANG_ARCHIVE_FULL_NAME ${CLANG_ARCHIVE_NAME}${CLANG_ARCHIVE_EXT})
set(CLANG_ARCHIVE_FILE ${CLANG_DOWNLOAD_LOCATION}/${CLANG_ARCHIVE_FULL_NAME})
set(CLANG_ARCHIVE_EXTRACT_DIR ${CLANG_DOWNLOAD_LOCATION}/${CLANG_ARCHIVE_NAME})
set(CLANG_ARCHIVE_URL
https://releases.llvm.org/${CLANG_VERSION}/${CLANG_ARCHIVE_FULL_NAME})
set(CLANG_ARCHIVE_HASH_FILE
${CMAKE_SOURCE_DIR}/clang_archive_hashes/${CLANG_ARCHIVE_FULL_NAME}.SHA256)
# Exit if Clang is already downloaded and extracted
set(CLANG_ROOT ${CLANG_ARCHIVE_EXTRACT_DIR})
find_package(Clang ${CLANG_VERSION} QUIET)
if(Clang_FOUND)
message(STATUS "Clang already downloaded")
set(DOWNLOADED_CLANG_DIR ${CLANG_ARCHIVE_EXTRACT_DIR} PARENT_SCOPE)
return()
endif()
if(NOT CLANG_ARCHIVE_NAME)
message(FATAL_ERROR "No Clang archive url specified for current platform \
(${CMAKE_SYSTEM_NAME}). Please file an issue to get it added.")
endif()
if(NOT EXISTS ${CLANG_ARCHIVE_HASH_FILE})
message(FATAL_ERROR "No SHA256 hash available for the current platform \
(${CMAKE_SYSTEM_NAME}) + clang version (${CLANG_VERSION}) combination. Please \
file an issue to get it added.")
endif()
# Download Clang archive
message(STATUS "Downloading Clang ${CLANG_VERSION} (${CLANG_ARCHIVE_URL}) ...")
file(DOWNLOAD ${CLANG_ARCHIVE_URL} ${CLANG_ARCHIVE_FILE}
STATUS CLANG_ARCHIVE_DOWNLOAD_RESULT)
# Abort if download failed
list(GET ${CLANG_ARCHIVE_DOWNLOAD_RESULT} 0 ERROR_CODE)
if(${ERROR_CODE})
list(GET ${CLANG_ARCHIVE_DOWNLOAD_RESULT} 1 ERROR_STRING)
message(FATAL_ERROR ${ERROR_STRING})
endif()
# Retrieve expected hash from file and strip newline
file(READ ${CLANG_ARCHIVE_HASH_FILE} CLANG_ARCHIVE_EXPECTED_HASH)
string(STRIP ${CLANG_ARCHIVE_EXPECTED_HASH} CLANG_ARCHIVE_EXPECTED_HASH)
# Calculate actual hash
file(SHA256 ${CLANG_ARCHIVE_FILE} CLANG_ARCHIVE_HASH)
# Abort if hashes do not match
if(NOT ${CLANG_ARCHIVE_EXPECTED_HASH} STREQUAL ${CLANG_ARCHIVE_HASH})
message(FATAL_ERROR "SHA256 hash of downloaded Clang does not match \
expected hash. Remove the build directory and try running CMake again. If this \
keeps happening, file an issue to report the problem.")
endif()
if(${CLANG_ARCHIVE_EXT} STREQUAL .exe)
# Download and extract 7-zip if not found in PATH
find_program(7ZIP_EXECUTABLE 7z)
if(NOT 7ZIP_EXECUTABLE)
message(STATUS "7-Zip not found in PATH")
include(DownloadAndExtract7zip)
download_and_extract_7zip(${CLANG_DOWNLOAD_LOCATION})
find_program(7ZIP_EXECUTABLE
NAMES 7z
NO_DEFAULT_PATH
PATHS ${DOWNLOADED_7ZIP_DIR}
)
else()
message(STATUS "7-Zip found in PATH")
endif()
message(STATUS "Extracting downloaded Clang with 7-Zip ...")
# Avoid running the Clang installer by extracting the exe with 7-Zip
execute_process(
COMMAND ${7ZIP_EXECUTABLE} x
-o${CLANG_ARCHIVE_EXTRACT_DIR}
-xr!$PLUGINSDIR ${CLANG_ARCHIVE_FILE}
WORKING_DIRECTORY ${CLANG_DOWNLOAD_LOCATION}
OUTPUT_QUIET
)
elseif(${CLANG_ARCHIVE_EXT} STREQUAL .tar.xz)
message(STATUS "Extracting downloaded Clang with CMake built-in tar ...")
# CMake has builtin support for tar via the -E flag
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar -xf ${CLANG_ARCHIVE_FILE}
# Specify working directory to allow running cmake from
# everywhere
# (example: cmake -H"$HOME/cquery" -B"$home/cquery/build")
WORKING_DIRECTORY ${CLANG_DOWNLOAD_LOCATION}
OUTPUT_QUIET
)
endif()
set(DOWNLOADED_CLANG_DIR ${CLANG_ARCHIVE_EXTRACT_DIR} PARENT_SCOPE)
endfunction()

View File

@ -1,143 +0,0 @@
#.rst
# FindClang
# ---------
#
# Find Clang and LLVM libraries required by ccls
#
# Results are reported in the following variables::
#
# Clang_FOUND - True if headers and requested libraries were found
# Clang_EXECUTABLE - Clang executable
# Clang_RESOURCE_DIR - Clang resource directory
# Clang_VERSION - Clang version as reported by Clang executable
#
# The following :prop_tgt:`IMPORTED` targets are also defined::
#
# Clang::Clang - Target for all required Clang libraries and headers
#
# This module reads hints about which libraries to look for and where to find
# them from the following variables::
#
# CLANG_ROOT - If set, only look for Clang components in CLANG_ROOT
#
# Example to link against Clang target::
#
# target_link_libraries(<target> PRIVATE Clang::Clang)
### Definitions
# Wrapper macro's around the find_* macro's from CMake that only search in
# CLANG_ROOT if it is defined
macro(_Clang_find_library VAR NAME)
# Windows needs lib prefix
if (CLANG_ROOT)
find_library(${VAR} NAMES ${NAME} lib${NAME}
NO_DEFAULT_PATH PATHS ${CLANG_ROOT} PATH_SUFFIXES lib)
else()
find_library(${VAR} NAMES ${NAME} lib${NAME})
endif()
endmacro()
macro(_Clang_find_add_library NAME)
_Clang_find_library(${NAME}_LIBRARY ${NAME})
list(APPEND _Clang_LIBRARIES ${${NAME}_LIBRARY})
endmacro()
macro(_Clang_find_path VAR INCLUDE_FILE)
if (CLANG_ROOT)
find_path(${VAR} ${INCLUDE_FILE}
NO_DEFAULT_PATH PATHS ${CLANG_ROOT} PATH_SUFFIXES include)
else()
find_path(${VAR} ${INCLUDE_FILE})
endif()
endmacro()
macro(_Clang_find_program VAR NAME)
if (CLANG_ROOT)
find_program(${VAR} ${NAME}
NO_DEFAULT_PATH PATHS ${CLANG_ROOT} PATH_SUFFIXES bin)
else()
find_program(${VAR} ${NAME})
endif()
endmacro()
### Start
set(_Clang_REQUIRED_VARS Clang_LIBRARY Clang_INCLUDE_DIR Clang_EXECUTABLE
Clang_RESOURCE_DIR Clang_VERSION
LLVM_INCLUDE_DIR LLVM_BUILD_INCLUDE_DIR)
_Clang_find_library(Clang_LIBRARY clangIndex)
_Clang_find_add_library(clangTooling)
_Clang_find_add_library(clangFrontend)
_Clang_find_add_library(clangParse)
_Clang_find_add_library(clangSerialization)
_Clang_find_add_library(clangSema)
_Clang_find_add_library(clangAnalysis)
_Clang_find_add_library(clangEdit)
_Clang_find_add_library(clangAST)
_Clang_find_add_library(clangLex)
_Clang_find_add_library(clangDriver)
_Clang_find_add_library(clangBasic)
if(USE_SHARED_LLVM)
_Clang_find_add_library(LLVM)
else()
_Clang_find_add_library(LLVMMCParser)
_Clang_find_add_library(LLVMMC)
_Clang_find_add_library(LLVMBitReader)
_Clang_find_add_library(LLVMOption)
_Clang_find_add_library(LLVMProfileData)
_Clang_find_add_library(LLVMCore)
_Clang_find_add_library(LLVMBinaryFormat)
_Clang_find_add_library(LLVMSupport)
_Clang_find_add_library(LLVMDemangle)
endif()
_Clang_find_path(Clang_INCLUDE_DIR clang-c/Index.h)
_Clang_find_path(Clang_BUILD_INCLUDE_DIR clang/Driver/Options.inc)
_Clang_find_path(LLVM_INCLUDE_DIR llvm/PassInfo.h)
_Clang_find_path(LLVM_BUILD_INCLUDE_DIR llvm/Config/llvm-config.h)
_Clang_find_program(Clang_EXECUTABLE clang)
if(Clang_EXECUTABLE)
# Find Clang resource directory with Clang executable
execute_process(COMMAND ${Clang_EXECUTABLE} -print-resource-dir
RESULT_VARIABLE _Clang_FIND_RESOURCE_DIR_RESULT
OUTPUT_VARIABLE Clang_RESOURCE_DIR
ERROR_VARIABLE _Clang_FIND_RESOURCE_DIR_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(_Clang_FIND_RESOURCE_DIR_RESULT)
message(FATAL_ERROR "Error retrieving Clang resource directory with Clang \
executable. Output:\n ${_Clang_FIND_RESOURCE_DIR_ERROR}")
endif()
# Find Clang version
set(_Clang_VERSION_REGEX "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
execute_process(
COMMAND ${Clang_EXECUTABLE} --version
OUTPUT_VARIABLE Clang_VERSION
)
string(REGEX MATCH ${_Clang_VERSION_REGEX} Clang_VERSION ${Clang_VERSION})
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Clang
FOUND_VAR Clang_FOUND
REQUIRED_VARS ${_Clang_REQUIRED_VARS}
VERSION_VAR Clang_VERSION
)
if(Clang_FOUND AND NOT TARGET Clang::Clang)
add_library(Clang::Clang UNKNOWN IMPORTED)
set_target_properties(Clang::Clang PROPERTIES
IMPORTED_LOCATION ${Clang_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES "${Clang_INCLUDE_DIR};${Clang_BUILD_INCLUDE_DIR};${LLVM_INCLUDE_DIR};${LLVM_BUILD_INCLUDE_DIR}")
find_package(Curses REQUIRED)
find_package(ZLIB REQUIRED)
set_property(TARGET Clang::Clang PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES "${_Clang_LIBRARIES};${CURSES_LIBRARIES};${ZLIB_LIBRARIES}")
if(MINGW)
set_property(TARGET Clang::Clang APPEND_STRING PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES ";version")
endif()
endif()

View File

@ -14,16 +14,16 @@ OUTPUT:
"detailed_name": "class Foo",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": ["1:7-1:10|1:1-1:10|0|1|1|-1", "2:7-2:10|2:1-2:10|0|1|1|-1", "4:7-4:10|4:1-4:10|0|1|1|-1"],
"spell": "3:7-3:10|0|1|2|-1",
"extent": "3:1-3:13|0|1|0|-1",
"alias_of": 0,
"spell": "3:7-3:10|3:1-3:13|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": ["1:7-1:10|1:1-1:10|1|-1", "2:7-2:10|2:1-2:10|1|-1", "4:7-4:10|4:1-4:10|1|-1"],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -18,75 +18,75 @@ OUTPUT:
"detailed_name": "Foo::Foo()",
"qual_name_offset": 0,
"short_name": "Foo",
"spell": "3:3-3:6|3:3-3:11|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "3:3-3:6|15041163540773201510|2|1026|-1",
"extent": "3:3-3:11|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["7:7-7:8|4259594751088586730|3|16676|-1", "8:17-8:20|4259594751088586730|3|16676|-1"],
"callees": []
"uses": ["7:7-7:8|16676|-1", "8:17-8:20|16676|-1"]
}, {
"usr": 4259594751088586730,
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "6:6-6:9|6:1-9:2|2|-1",
"bases": [],
"vars": [10983126130596230582, 17165811951126099095],
"callees": ["7:7-7:8|3385168158331140247|3|16676", "7:7-7:8|3385168158331140247|3|16676", "8:17-8:20|3385168158331140247|3|16676", "8:17-8:20|3385168158331140247|3|16676"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "6:6-6:9|0|1|2|-1",
"extent": "6:1-9:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [10983126130596230582, 17165811951126099095],
"uses": [],
"callees": ["7:7-7:8|3385168158331140247|3|16676", "7:7-7:8|3385168158331140247|3|16676", "8:17-8:20|3385168158331140247|3|16676", "8:17-8:20|3385168158331140247|3|16676"]
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [3385168158331140247],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [10983126130596230582, 17165811951126099095],
"uses": ["3:3-3:6|15041163540773201510|2|4|-1", "7:3-7:6|4259594751088586730|3|4|-1", "8:3-8:6|4259594751088586730|3|4|-1", "8:17-8:20|4259594751088586730|3|4|-1"]
"uses": ["3:3-3:6|4|-1", "7:3-7:6|4|-1", "8:3-8:6|4|-1", "8:17-8:20|4|-1"]
}],
"usr2var": [{
"usr": 10983126130596230582,
"detailed_name": "Foo f",
"qual_name_offset": 4,
"short_name": "f",
"declarations": [],
"spell": "7:7-7:8|4259594751088586730|3|2|-1",
"extent": "7:3-7:8|4259594751088586730|3|0|-1",
"spell": "7:7-7:8|7:3-7:8|2|-1",
"type": 15041163540773201510,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 17165811951126099095,
"detailed_name": "Foo *f2",
"qual_name_offset": 5,
"short_name": "f2",
"hover": "Foo *f2 = new Foo()",
"declarations": [],
"spell": "8:8-8:10|4259594751088586730|3|2|-1",
"extent": "8:3-8:22|4259594751088586730|3|0|-1",
"spell": "8:8-8:10|8:3-8:22|2|-1",
"type": 15041163540773201510,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -23,77 +23,77 @@ OUTPUT:
"detailed_name": "Foo::Foo()",
"qual_name_offset": 0,
"short_name": "Foo",
"spell": "3:3-3:6|3:3-3:11|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "3:3-3:6|15041163540773201510|2|1026|-1",
"extent": "3:3-3:11|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["8:7-8:8|4259594751088586730|3|16676|-1"],
"callees": []
"uses": ["8:7-8:8|16676|-1"]
}, {
"usr": 4259594751088586730,
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "7:6-7:9|7:1-9:2|2|-1",
"bases": [],
"vars": [1893354193220338759],
"callees": ["8:7-8:8|3385168158331140247|3|16676", "8:7-8:8|3385168158331140247|3|16676"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "7:6-7:9|0|1|2|-1",
"extent": "7:1-9:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [1893354193220338759],
"uses": [],
"callees": ["8:7-8:8|3385168158331140247|3|16676", "8:7-8:8|3385168158331140247|3|16676"]
"uses": []
}, {
"usr": 7440261702884428359,
"detailed_name": "Foo::~Foo() noexcept",
"qual_name_offset": 0,
"short_name": "~Foo",
"spell": "4:3-4:7|4:3-4:12|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "4:3-4:7|15041163540773201510|2|1026|-1",
"extent": "4:3-4:12|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [3385168158331140247, 7440261702884428359],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [1893354193220338759],
"uses": ["3:3-3:6|15041163540773201510|2|4|-1", "4:4-4:7|15041163540773201510|2|4|-1", "8:3-8:6|4259594751088586730|3|4|-1"]
"uses": ["3:3-3:6|4|-1", "4:4-4:7|4|-1", "8:3-8:6|4|-1"]
}],
"usr2var": [{
"usr": 1893354193220338759,
"detailed_name": "Foo f",
"qual_name_offset": 4,
"short_name": "f",
"declarations": [],
"spell": "8:7-8:8|4259594751088586730|3|2|-1",
"extent": "8:3-8:8|4259594751088586730|3|0|-1",
"spell": "8:7-8:8|8:3-8:8|2|-1",
"type": 15041163540773201510,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -17,75 +17,75 @@ OUTPUT:
"detailed_name": "void Make()",
"qual_name_offset": 5,
"short_name": "Make",
"spell": "5:6-5:10|5:1-8:2|2|-1",
"bases": [],
"vars": [449111627548814328, 17097499197730163115],
"callees": ["6:8-6:12|10530961286677896857|3|16676", "6:8-6:12|10530961286677896857|3|16676", "7:15-7:19|10530961286677896857|3|16676", "7:15-7:19|10530961286677896857|3|16676"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:6-5:10|0|1|2|-1",
"extent": "5:1-8:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [449111627548814328, 17097499197730163115],
"uses": [],
"callees": ["6:8-6:12|10530961286677896857|3|16676", "6:8-6:12|10530961286677896857|3|16676", "7:15-7:19|10530961286677896857|3|16676", "7:15-7:19|10530961286677896857|3|16676"]
"uses": []
}, {
"usr": 10530961286677896857,
"detailed_name": "Type::Type()",
"qual_name_offset": 0,
"short_name": "Type",
"spell": "2:3-2:7|2:3-2:12|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "2:3-2:7|13487927231218873822|2|1026|-1",
"extent": "2:3-2:12|13487927231218873822|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["6:8-6:12|3957104924306079513|3|16676|-1", "7:15-7:19|3957104924306079513|3|16676|-1"],
"callees": []
"uses": ["6:8-6:12|16676|-1", "7:15-7:19|16676|-1"]
}],
"usr2type": [{
"usr": 13487927231218873822,
"detailed_name": "struct Type {}",
"qual_name_offset": 7,
"short_name": "Type",
"kind": 23,
"declarations": [],
"spell": "1:8-1:12|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:12|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [10530961286677896857],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [449111627548814328, 17097499197730163115],
"uses": ["2:3-2:7|13487927231218873822|2|4|-1", "6:3-6:7|3957104924306079513|3|4|-1", "7:15-7:19|3957104924306079513|3|4|-1"]
"uses": ["2:3-2:7|4|-1", "6:3-6:7|4|-1", "7:15-7:19|4|-1"]
}],
"usr2var": [{
"usr": 449111627548814328,
"detailed_name": "Type foo0",
"qual_name_offset": 5,
"short_name": "foo0",
"declarations": [],
"spell": "6:8-6:12|3957104924306079513|3|2|-1",
"extent": "6:3-6:12|3957104924306079513|3|0|-1",
"spell": "6:8-6:12|6:3-6:12|2|-1",
"type": 13487927231218873822,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 17097499197730163115,
"detailed_name": "Type foo1",
"qual_name_offset": 5,
"short_name": "foo1",
"hover": "Type foo1 = Type()",
"declarations": [],
"spell": "7:8-7:12|3957104924306079513|3|2|-1",
"extent": "7:3-7:21|3957104924306079513|3|0|-1",
"spell": "7:8-7:12|7:3-7:21|2|-1",
"type": 13487927231218873822,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -17,34 +17,34 @@ OUTPUT:
"detailed_name": "Foo::Foo::Foo()",
"qual_name_offset": 0,
"short_name": "Foo",
"spell": "4:6-4:9|4:1-4:11|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "4:6-4:9|15041163540773201510|2|1026|-1",
"extent": "4:1-4:11|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "1:8-1:11|0|1|2|-1",
"extent": "1:1-1:14|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:11|1:1-1:14|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [17319723337446061757],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["4:1-4:4|0|1|4|-1", "4:6-4:9|15041163540773201510|2|4|-1"]
"uses": ["4:1-4:4|4|-1", "4:6-4:9|4|-1"]
}],
"usr2var": []
}

View File

@ -33,96 +33,96 @@ OUTPUT: make_functions.h
"detailed_name": "Foobar::Foobar(int &&, Bar *, bool *)",
"qual_name_offset": 0,
"short_name": "Foobar",
"spell": "7:3-7:9|7:3-7:32|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "7:3-7:9|14935975554338052500|2|1026|-1",
"extent": "7:3-7:32|14935975554338052500|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 13028995015627606181,
"detailed_name": "Foobar::Foobar(int)",
"qual_name_offset": 0,
"short_name": "Foobar",
"spell": "6:3-6:9|6:3-6:17|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "6:3-6:9|14935975554338052500|2|1026|-1",
"extent": "6:3-6:17|14935975554338052500|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 13131778807733950299,
"detailed_name": "Foobar::Foobar()",
"qual_name_offset": 0,
"short_name": "Foobar",
"spell": "5:3-5:9|5:3-5:14|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "5:3-5:9|14935975554338052500|2|1026|-1",
"extent": "5:3-5:14|14935975554338052500|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 17321436359755983845,
"detailed_name": "Foobar::Foobar(int, Bar *, bool *)",
"qual_name_offset": 0,
"short_name": "Foobar",
"spell": "8:3-8:9|8:3-8:30|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "8:3-8:9|14935975554338052500|2|1026|-1",
"extent": "8:3-8:30|14935975554338052500|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 12993848456528750350,
"detailed_name": "struct Bar {}",
"qual_name_offset": 7,
"short_name": "Bar",
"kind": 23,
"declarations": [],
"spell": "1:8-1:11|0|1|2|-1",
"extent": "1:1-1:14|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:11|1:1-1:14|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["7:17-7:20|14935975554338052500|2|4|-1", "8:15-8:18|14935975554338052500|2|4|-1"]
"uses": ["7:17-7:20|4|-1", "8:15-8:18|4|-1"]
}, {
"usr": 14935975554338052500,
"detailed_name": "class Foobar {}",
"qual_name_offset": 6,
"short_name": "Foobar",
"kind": 5,
"declarations": [],
"spell": "3:7-3:13|0|1|2|-1",
"extent": "3:1-9:2|0|1|0|-1",
"alias_of": 0,
"spell": "3:7-3:13|3:1-9:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [13131778807733950299, 13028995015627606181, 3765833212244435302, 17321436359755983845],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["5:3-5:9|14935975554338052500|2|4|-1", "6:3-6:9|14935975554338052500|2|4|-1", "7:3-7:9|14935975554338052500|2|4|-1", "8:3-8:9|14935975554338052500|2|4|-1"]
"uses": ["5:3-5:9|4|-1", "6:3-6:9|4|-1", "7:3-7:9|4|-1", "8:3-8:9|4|-1"]
}],
"usr2var": []
}
@ -138,99 +138,103 @@ OUTPUT: make_functions.cc
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"bases": [],
"vars": [2555873744476712860, 2555873744476712860, 2555873744476712860],
"callees": [],
"kind": 0,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [2555873744476712860, 2555873744476712860, 2555873744476712860],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 2532818908869373467,
"detailed_name": "T *maKE_NoRefs(Args ...args)",
"qual_name_offset": 3,
"short_name": "maKE_NoRefs",
"spell": "9:4-9:15|9:1-11:2|2|-1",
"bases": [],
"vars": [3908732770590594660],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "9:4-9:15|0|1|2|-1",
"extent": "9:1-11:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [3908732770590594660],
"uses": ["17:3-17:14|2816883305867289955|3|16420|-1"],
"callees": []
"uses": ["17:3-17:14|16420|-1"]
}, {
"usr": 2816883305867289955,
"detailed_name": "void caller22()",
"qual_name_offset": 5,
"short_name": "caller22",
"spell": "13:6-13:14|13:1-18:2|2|-1",
"bases": [],
"vars": [],
"callees": ["14:3-14:13|15793662558620604611|3|16420", "15:3-15:13|15793662558620604611|3|16420", "16:3-16:13|15793662558620604611|3|16420", "17:3-17:14|2532818908869373467|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "13:6-13:14|0|1|2|-1",
"extent": "13:1-18:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["14:3-14:13|15793662558620604611|3|16420", "15:3-15:13|15793662558620604611|3|16420", "16:3-16:13|15793662558620604611|3|16420", "17:3-17:14|2532818908869373467|3|16420"]
"uses": []
}, {
"usr": 11138976705878544996,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"bases": [],
"vars": [16395392342608151399],
"callees": [],
"kind": 0,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [16395392342608151399],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 11363675606380070883,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"bases": [],
"vars": [180270746871803062, 180270746871803062, 180270746871803062],
"callees": [],
"kind": 0,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [180270746871803062, 180270746871803062, 180270746871803062],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 15793662558620604611,
"detailed_name": "T *MakeUnique(Args &&...args)",
"qual_name_offset": 3,
"short_name": "MakeUnique",
"spell": "4:4-4:14|4:1-6:2|2|-1",
"bases": [],
"vars": [8463700030555379526],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "4:4-4:14|0|1|2|-1",
"extent": "4:1-6:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [8463700030555379526],
"uses": ["14:3-14:13|2816883305867289955|3|16420|-1", "15:3-15:13|2816883305867289955|3|16420|-1", "16:3-16:13|2816883305867289955|3|16420|-1"],
"callees": []
"uses": ["14:3-14:13|16420|-1", "15:3-15:13|16420|-1", "16:3-16:13|16420|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [180270746871803062],
"uses": []
}, {
@ -238,14 +242,15 @@ OUTPUT: make_functions.cc
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [180270746871803062],
"uses": []
}, {
@ -253,92 +258,94 @@ OUTPUT: make_functions.cc
"detailed_name": "struct Bar {}",
"qual_name_offset": 7,
"short_name": "Bar",
"kind": 23,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["16:29-16:32|2816883305867289955|3|4|-1", "17:30-17:33|2816883305867289955|3|4|-1"]
"uses": ["16:29-16:32|4|-1", "17:30-17:33|4|-1"]
}, {
"usr": 14935975554338052500,
"detailed_name": "class Foobar {}",
"qual_name_offset": 6,
"short_name": "Foobar",
"kind": 5,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["14:14-14:20|2816883305867289955|3|4|-1", "15:14-15:20|2816883305867289955|3|4|-1", "16:14-16:20|2816883305867289955|3|4|-1", "17:15-17:21|2816883305867289955|3|4|-1"]
"uses": ["14:14-14:20|4|-1", "15:14-15:20|4|-1", "16:14-16:20|4|-1", "17:15-17:21|4|-1"]
}],
"usr2var": [{
"usr": 180270746871803062,
"detailed_name": "int args",
"qual_name_offset": 4,
"short_name": "args",
"declarations": [],
"spell": "9:24-9:28|11363675606380070883|3|1026|-1",
"extent": "9:16-9:28|11363675606380070883|3|0|-1",
"spell": "9:24-9:28|9:16-9:28|1026|-1",
"type": 87,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 2555873744476712860,
"detailed_name": "int &&args",
"qual_name_offset": 6,
"short_name": "args",
"declarations": [],
"spell": "4:25-4:29|768523651983844320|3|1026|-1",
"extent": "4:15-4:29|768523651983844320|3|0|-1",
"spell": "4:25-4:29|4:15-4:29|1026|-1",
"type": 0,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 3908732770590594660,
"detailed_name": "Args ...args",
"qual_name_offset": 8,
"short_name": "args",
"declarations": [],
"spell": "9:24-9:28|2532818908869373467|3|1026|-1",
"extent": "9:16-9:28|2532818908869373467|3|0|-1",
"spell": "9:24-9:28|9:16-9:28|1026|-1",
"type": 0,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 8463700030555379526,
"detailed_name": "Args &&...args",
"qual_name_offset": 10,
"short_name": "args",
"declarations": [],
"spell": "4:25-4:29|15793662558620604611|3|1026|-1",
"extent": "4:15-4:29|15793662558620604611|3|0|-1",
"spell": "4:25-4:29|4:15-4:29|1026|-1",
"type": 0,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16395392342608151399,
"detailed_name": "int &&args",
"qual_name_offset": 6,
"short_name": "args",
"declarations": [],
"spell": "4:25-4:29|11138976705878544996|3|1026|-1",
"extent": "4:15-4:29|11138976705878544996|3|0|-1",
"spell": "4:25-4:29|4:15-4:29|1026|-1",
"type": 0,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -16,16 +16,16 @@ OUTPUT:
"detailed_name": "class Foo",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": ["1:7-1:10|1:1-1:10|0|1|1|-1", "2:7-2:10|2:1-2:10|0|1|1|-1", "4:7-4:10|4:1-4:10|0|1|1|-1"],
"spell": "3:7-3:10|0|1|2|-1",
"extent": "3:1-3:13|0|1|0|-1",
"alias_of": 0,
"spell": "3:7-3:10|3:1-3:13|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": ["1:7-1:10|1:1-1:10|1|-1", "2:7-2:10|2:1-2:10|1|-1", "4:7-4:10|4:1-4:10|1|-1"],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -13,14 +13,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [9736582033442720743],
"uses": []
}, {
@ -28,19 +29,19 @@ OUTPUT:
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 9736582033442720743,
"R": 0
}],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -49,13 +50,13 @@ OUTPUT:
"detailed_name": "int Foo::foo",
"qual_name_offset": 4,
"short_name": "foo",
"declarations": [],
"spell": "2:7-2:10|15041163540773201510|2|1026|-1",
"extent": "2:3-2:10|15041163540773201510|2|0|-1",
"spell": "2:7-2:10|2:3-2:10|1026|-1",
"type": 53,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -15,14 +15,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [8942920329766232482, 8942920329766232482],
"uses": []
}, {
@ -30,31 +31,31 @@ OUTPUT:
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["5:5-5:8|0|1|4|-1"]
"uses": ["5:5-5:8|4|-1"]
}],
"usr2var": [{
"usr": 8942920329766232482,
"detailed_name": "static int Foo::foo",
"qual_name_offset": 11,
"short_name": "foo",
"declarations": ["2:14-2:17|2:3-2:17|15041163540773201510|2|1025|-1"],
"spell": "5:10-5:13|15041163540773201510|2|1026|-1",
"extent": "5:1-5:13|15041163540773201510|2|0|-1",
"spell": "5:10-5:13|5:1-5:13|1026|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 2
"parent_kind": 5,
"storage": 2,
"declarations": ["2:14-2:17|2:3-2:17|1025|-1"],
"uses": []
}]
}
*/

View File

@ -14,16 +14,16 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:11|0|1|1|-1", "2:6-2:9|2:1-2:11|0|1|1|-1", "4:6-4:9|4:1-4:11|0|1|1|-1"],
"spell": "3:6-3:9|0|1|2|-1",
"extent": "3:1-3:14|0|1|0|-1",
"spell": "3:6-3:9|3:1-3:14|2|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:11|1|-1", "2:6-2:9|2:1-2:11|1|-1", "4:6-4:9|4:1-4:11|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [],
"usr2var": []

View File

@ -14,30 +14,31 @@ OUTPUT:
"detailed_name": "int foo(int, int)",
"qual_name_offset": 4,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["1:5-1:8|1:1-1:18|0|1|1|-1", "2:5-2:8|2:1-3:16|0|1|1|-1", "4:5-4:8|4:1-4:26|0|1|1|-1"],
"spell": "5:5-5:8|0|1|2|-1",
"extent": "5:1-5:36|0|1|0|-1",
"spell": "5:5-5:8|5:1-5:36|2|-1",
"bases": [],
"derived": [],
"vars": [14555488990109936920, 10963664335057337329],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["1:5-1:8|1:1-1:18|1|-1", "2:5-2:8|2:1-3:16|1|-1", "4:5-4:8|4:1-4:26|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [14555488990109936920, 10963664335057337329],
"uses": []
}],
@ -46,25 +47,25 @@ OUTPUT:
"detailed_name": "int b",
"qual_name_offset": 4,
"short_name": "b",
"declarations": [],
"spell": "5:20-5:21|2747674671862363334|3|1026|-1",
"extent": "5:16-5:21|2747674671862363334|3|0|-1",
"spell": "5:20-5:21|5:16-5:21|1026|-1",
"type": 53,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 14555488990109936920,
"detailed_name": "int a",
"qual_name_offset": 4,
"short_name": "a",
"declarations": [],
"spell": "5:13-5:14|2747674671862363334|3|1026|-1",
"extent": "5:9-5:14|2747674671862363334|3|0|-1",
"spell": "5:13-5:14|5:9-5:14|1026|-1",
"type": 53,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -16,60 +16,62 @@ OUTPUT:
"detailed_name": "void Foo::declonly()",
"qual_name_offset": 5,
"short_name": "declonly",
"kind": 6,
"storage": 0,
"declarations": ["2:8-2:16|2:3-2:18|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:8-2:16|2:3-2:18|1025|-1"],
"derived": [],
"uses": []
}, {
"usr": 10939323144126021546,
"detailed_name": "virtual void Foo::purevirtual() = 0",
"qual_name_offset": 13,
"short_name": "purevirtual",
"kind": 6,
"storage": 0,
"declarations": ["3:16-3:27|3:3-3:33|15041163540773201510|2|1089|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["3:16-3:27|3:3-3:33|1089|-1"],
"derived": [],
"uses": []
}, {
"usr": 15416083548883122431,
"detailed_name": "void Foo::def()",
"qual_name_offset": 5,
"short_name": "def",
"kind": 6,
"storage": 0,
"declarations": ["4:8-4:11|4:3-4:13|15041163540773201510|2|1025|-1"],
"spell": "7:11-7:14|15041163540773201510|2|1026|-1",
"extent": "7:1-7:19|15041163540773201510|2|0|-1",
"spell": "7:11-7:14|7:1-7:19|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": ["4:8-4:11|4:3-4:13|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [4012226004228259562, 10939323144126021546, 15416083548883122431],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["7:6-7:9|0|1|4|-1"]
"uses": ["7:6-7:9|4|-1"]
}],
"usr2var": []
}

View File

@ -15,16 +15,16 @@ OUTPUT:
"detailed_name": "typedef unsigned char uint8_t",
"qual_name_offset": 22,
"short_name": "uint8_t",
"kind": 252,
"declarations": [],
"spell": "1:23-1:30|0|1|2|-1",
"extent": "1:1-1:30|0|1|0|-1",
"alias_of": 0,
"spell": "1:23-1:30|1:1-1:30|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 252,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -32,16 +32,22 @@ OUTPUT:
"detailed_name": "enum class Foo : uint8_t {}",
"qual_name_offset": 11,
"short_name": "Foo",
"kind": 10,
"declarations": [],
"spell": "2:12-2:15|0|1|2|-1",
"extent": "2:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "2:12-2:15|2:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [],
"types": [],
"vars": [{
"L": 439339022761937396,
"R": -1
}, {
"L": 15962370213938840720,
"R": -1
}],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -51,25 +57,25 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "A",
"hover": "Foo::A = 0",
"declarations": [],
"spell": "3:3-3:4|16985894625255407295|2|1026|-1",
"extent": "3:3-3:4|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "3:3-3:4|3:3-3:4|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 10,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15962370213938840720,
"detailed_name": "Foo::B = 20",
"qual_name_offset": 0,
"short_name": "B",
"declarations": [],
"spell": "4:3-4:4|16985894625255407295|2|1026|-1",
"extent": "4:3-4:9|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "4:3-4:4|4:3-4:9|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 10,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -14,16 +14,16 @@ OUTPUT:
"detailed_name": "enum Foo {}",
"qual_name_offset": 5,
"short_name": "Foo",
"kind": 10,
"declarations": [],
"spell": "1:6-1:9|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:6-1:9|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -33,25 +33,25 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "A",
"hover": "A = 0",
"declarations": [],
"spell": "2:3-2:4|16985894625255407295|2|1026|-1",
"extent": "2:3-2:4|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "2:3-2:4|2:3-2:4|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15962370213938840720,
"detailed_name": "B = 20",
"qual_name_offset": 0,
"short_name": "B",
"declarations": [],
"spell": "3:3-3:4|16985894625255407295|2|1026|-1",
"extent": "3:3-3:9|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "3:3-3:4|3:3-3:9|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -21,16 +21,22 @@ OUTPUT:
"detailed_name": "enum class E : int32_t {}",
"qual_name_offset": 11,
"short_name": "E",
"kind": 10,
"declarations": [],
"spell": "8:12-8:13|0|1|2|-1",
"extent": "8:1-11:2|0|1|0|-1",
"alias_of": 0,
"spell": "8:12-8:13|8:1-11:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [],
"types": [],
"vars": [{
"L": 16614320383091394267,
"R": -1
}, {
"L": 16847439761518576294,
"R": -1
}],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -38,16 +44,16 @@ OUTPUT:
"detailed_name": "typedef int int32_t",
"qual_name_offset": 12,
"short_name": "int32_t",
"kind": 252,
"declarations": [],
"spell": "6:13-6:20|0|1|2|-1",
"extent": "6:1-6:20|0|1|0|-1",
"alias_of": 0,
"spell": "6:13-6:20|6:1-6:20|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 252,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -55,16 +61,16 @@ OUTPUT:
"detailed_name": "enum Foo : int {}",
"qual_name_offset": 5,
"short_name": "Foo",
"kind": 10,
"declarations": [],
"spell": "1:6-1:9|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:6-1:9|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -74,50 +80,50 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "A",
"hover": "A = 0",
"declarations": [],
"spell": "2:3-2:4|16985894625255407295|2|1026|-1",
"extent": "2:3-2:4|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "2:3-2:4|2:3-2:4|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15962370213938840720,
"detailed_name": "B = 20",
"qual_name_offset": 0,
"short_name": "B",
"declarations": [],
"spell": "3:3-3:4|16985894625255407295|2|1026|-1",
"extent": "3:3-3:9|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "3:3-3:4|3:3-3:9|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16614320383091394267,
"detailed_name": "E::E0",
"qual_name_offset": 0,
"short_name": "E0",
"hover": "E::E0 = 0",
"declarations": [],
"spell": "9:3-9:5|2986879766914123941|2|1026|-1",
"extent": "9:3-9:5|2986879766914123941|2|0|-1",
"type": 0,
"uses": [],
"spell": "9:3-9:5|9:3-9:5|1026|-1",
"type": 2986879766914123941,
"kind": 22,
"storage": 0
"parent_kind": 10,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16847439761518576294,
"detailed_name": "E::E20 = 20",
"qual_name_offset": 0,
"short_name": "E20",
"declarations": [],
"spell": "10:3-10:6|2986879766914123941|2|1026|-1",
"extent": "10:3-10:11|2986879766914123941|2|0|-1",
"type": 0,
"uses": [],
"spell": "10:3-10:6|10:3-10:11|1026|-1",
"type": 2986879766914123941,
"kind": 22,
"storage": 0
"parent_kind": 10,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -16,18 +16,24 @@ OUTPUT:
"detailed_name": "enum class Foo : int {}",
"qual_name_offset": 11,
"short_name": "Foo",
"kind": 10,
"declarations": [],
"spell": "1:12-1:15|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:12-1:15|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [],
"types": [],
"vars": [{
"L": 439339022761937396,
"R": -1
}, {
"L": 15962370213938840720,
"R": -1
}],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [10677751717622394455],
"uses": ["6:1-6:4|0|1|4|-1", "6:9-6:12|0|1|4|-1"]
"uses": ["6:1-6:4|4|-1", "6:9-6:12|4|-1"]
}],
"usr2var": [{
"usr": 439339022761937396,
@ -35,38 +41,38 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "A",
"hover": "Foo::A = 0",
"declarations": [],
"spell": "2:3-2:4|16985894625255407295|2|1026|-1",
"extent": "2:3-2:4|16985894625255407295|2|0|-1",
"type": 0,
"uses": ["6:14-6:15|0|1|4|-1"],
"spell": "2:3-2:4|2:3-2:4|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 10,
"storage": 0,
"declarations": [],
"uses": ["6:14-6:15|4|-1"]
}, {
"usr": 10677751717622394455,
"detailed_name": "Foo x",
"qual_name_offset": 4,
"short_name": "x",
"hover": "Foo x = Foo::A",
"declarations": [],
"spell": "6:5-6:6|0|1|2|-1",
"extent": "6:1-6:15|0|1|0|-1",
"spell": "6:5-6:6|6:1-6:15|2|-1",
"type": 16985894625255407295,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15962370213938840720,
"detailed_name": "Foo::B = 20",
"qual_name_offset": 0,
"short_name": "B",
"declarations": [],
"spell": "3:3-3:4|16985894625255407295|2|1026|-1",
"extent": "3:3-3:9|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "3:3-3:4|3:3-3:9|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 10,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -19,94 +19,94 @@ OUTPUT:
"detailed_name": "enum A {}",
"qual_name_offset": 5,
"short_name": "A",
"kind": 10,
"declarations": [],
"spell": "1:6-1:7|0|1|2|-1",
"extent": "1:1-1:10|0|1|0|-1",
"alias_of": 0,
"spell": "1:6-1:7|1:1-1:10|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["9:5-9:6|0|1|4|-1"]
"uses": ["9:5-9:6|4|-1"]
}, {
"usr": 10528472276654770367,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "5:8-5:11|0|1|2|-1",
"extent": "5:1-7:2|0|1|0|-1",
"alias_of": 0,
"spell": "5:8-5:11|5:1-7:2|2|-1",
"bases": [],
"derived": [],
"types": [13938528237873543349],
"funcs": [],
"types": [13938528237873543349],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [12028309045033782423],
"uses": ["9:1-9:4|0|1|4|-1", "10:1-10:4|0|1|4|-1"]
"uses": ["9:1-9:4|4|-1", "10:1-10:4|4|-1"]
}, {
"usr": 13892793056005362145,
"detailed_name": "enum B {}",
"qual_name_offset": 5,
"short_name": "B",
"kind": 10,
"declarations": [],
"spell": "2:6-2:7|0|1|2|-1",
"extent": "2:1-2:10|0|1|0|-1",
"alias_of": 0,
"spell": "2:6-2:7|2:1-2:10|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["10:5-10:6|0|1|4|-1"]
"uses": ["10:5-10:6|4|-1"]
}, {
"usr": 13938528237873543349,
"detailed_name": "struct Foo::Inner {}",
"qual_name_offset": 7,
"short_name": "Inner",
"kind": 23,
"declarations": [],
"spell": "6:10-6:15|10528472276654770367|2|1026|-1",
"extent": "6:3-6:18|10528472276654770367|2|0|-1",
"alias_of": 0,
"spell": "6:10-6:15|6:3-6:18|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 23,
"declarations": [],
"derived": [],
"instances": [16721564935990383768],
"uses": ["9:9-9:14|0|1|4|-1"]
"uses": ["9:9-9:14|4|-1"]
}],
"usr2var": [{
"usr": 12028309045033782423,
"detailed_name": "Foo<B> b",
"qual_name_offset": 7,
"short_name": "b",
"declarations": [],
"spell": "10:8-10:9|0|1|2|-1",
"extent": "10:1-10:9|0|1|0|-1",
"spell": "10:8-10:9|10:1-10:9|2|-1",
"type": 10528472276654770367,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "Foo<A>::Inner a",
"qual_name_offset": 14,
"short_name": "a",
"declarations": [],
"spell": "9:15-9:16|0|1|2|-1",
"extent": "9:1-9:16|0|1|0|-1",
"spell": "9:15-9:16|9:1-9:16|2|-1",
"type": 13938528237873543349,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -10,14 +10,15 @@ OUTPUT:
"detailed_name": "void foo(int a, int b)",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:23|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:23|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [],
"usr2var": []

View File

@ -12,16 +12,16 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:11|0|1|1|-1"],
"spell": "3:6-3:9|0|1|2|-1",
"extent": "3:1-3:14|0|1|0|-1",
"spell": "3:6-3:9|3:1-3:14|2|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:11|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [],
"usr2var": []

View File

@ -10,16 +10,16 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "1:6-1:9|1:1-1:14|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "1:6-1:9|0|1|2|-1",
"extent": "1:1-1:14|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [],
"usr2var": []

View File

@ -12,33 +12,33 @@ OUTPUT:
"detailed_name": "class Parent {}",
"qual_name_offset": 6,
"short_name": "Parent",
"kind": 5,
"declarations": [],
"spell": "1:7-1:13|0|1|2|-1",
"extent": "1:1-1:16|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:13|1:1-1:16|2|-1",
"bases": [],
"derived": [10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["2:24-2:30|10963370434658308541|2|2052|-1"]
"uses": ["2:24-2:30|2052|-1"]
}, {
"usr": 10963370434658308541,
"detailed_name": "class Derived : public Parent {}",
"qual_name_offset": 6,
"short_name": "Derived",
"kind": 5,
"declarations": [],
"spell": "2:7-2:14|0|1|2|-1",
"extent": "2:1-2:33|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:14|2:1-2:33|2|-1",
"bases": [3866412049634585509],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -23,86 +23,86 @@ OUTPUT:
"detailed_name": "class Derived1 : Base1<T> {}",
"qual_name_offset": 6,
"short_name": "Derived1",
"kind": 5,
"declarations": [],
"spell": "8:7-8:15|0|1|2|-1",
"extent": "8:1-8:29|0|1|0|-1",
"alias_of": 0,
"spell": "8:7-8:15|8:1-8:29|2|-1",
"bases": [11930058224338108382],
"derived": [10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["13:43-13:51|10963370434658308541|2|2052|-1"]
"uses": ["13:43-13:51|2052|-1"]
}, {
"usr": 10651399730831737929,
"detailed_name": "class Derived2 : Base2<T> {}",
"qual_name_offset": 6,
"short_name": "Derived2",
"kind": 5,
"declarations": [],
"spell": "11:7-11:15|0|1|2|-1",
"extent": "11:1-11:29|0|1|0|-1",
"alias_of": 0,
"spell": "11:7-11:15|11:1-11:29|2|-1",
"bases": [11118288764693061434],
"derived": [10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["13:56-13:64|10963370434658308541|2|2052|-1"]
"uses": ["13:56-13:64|2052|-1"]
}, {
"usr": 10963370434658308541,
"detailed_name": "class Derived : Base1<3>, Base2<Derived>, Derived1<4>, Derived2<Derived> {}",
"qual_name_offset": 6,
"short_name": "Derived",
"kind": 5,
"declarations": [],
"spell": "13:7-13:14|0|1|2|-1",
"extent": "13:1-13:76|0|1|0|-1",
"alias_of": 0,
"spell": "13:7-13:14|13:1-13:76|2|-1",
"bases": [11930058224338108382, 11118288764693061434, 5863733211528032190, 10651399730831737929],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["13:33-13:40|10963370434658308541|2|2052|-1", "13:65-13:72|10963370434658308541|2|2052|-1"]
"uses": ["13:33-13:40|2052|-1", "13:65-13:72|2052|-1"]
}, {
"usr": 11118288764693061434,
"detailed_name": "class Base2 {}",
"qual_name_offset": 6,
"short_name": "Base2",
"kind": 5,
"declarations": [],
"spell": "5:7-5:12|0|1|2|-1",
"extent": "5:1-5:15|0|1|0|-1",
"alias_of": 0,
"spell": "5:7-5:12|5:1-5:15|2|-1",
"bases": [],
"derived": [10651399730831737929, 10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10651399730831737929, 10963370434658308541],
"instances": [],
"uses": ["13:27-13:32|10963370434658308541|2|2052|-1"]
"uses": ["11:18-11:23|2052|-1", "13:27-13:32|2052|-1"]
}, {
"usr": 11930058224338108382,
"detailed_name": "class Base1 {}",
"qual_name_offset": 6,
"short_name": "Base1",
"kind": 5,
"declarations": [],
"spell": "2:7-2:12|0|1|2|-1",
"extent": "2:1-2:15|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:12|2:1-2:15|2|-1",
"bases": [],
"derived": [5863733211528032190, 10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [5863733211528032190, 10963370434658308541],
"instances": [],
"uses": ["13:17-13:22|10963370434658308541|2|2052|-1"]
"uses": ["8:18-8:23|2052|-1", "13:17-13:22|2052|-1"]
}],
"usr2var": []
}

View File

@ -14,33 +14,33 @@ OUTPUT:
"detailed_name": "class Root {}",
"qual_name_offset": 6,
"short_name": "Root",
"kind": 5,
"declarations": [],
"spell": "1:7-1:11|0|1|2|-1",
"extent": "1:1-1:14|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:11|1:1-1:14|2|-1",
"bases": [],
"derived": [11863524815063131483, 14022569716337624303],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [11863524815063131483, 14022569716337624303],
"instances": [],
"uses": ["2:24-2:28|11863524815063131483|2|2052|-1", "3:24-3:28|14022569716337624303|2|2052|-1"]
"uses": ["2:24-2:28|2052|-1", "3:24-3:28|2052|-1"]
}, {
"usr": 10963370434658308541,
"detailed_name": "class Derived : public MiddleA, public MiddleB {}",
"qual_name_offset": 6,
"short_name": "Derived",
"kind": 5,
"declarations": [],
"spell": "4:7-4:14|0|1|2|-1",
"extent": "4:1-4:50|0|1|0|-1",
"alias_of": 0,
"spell": "4:7-4:14|4:1-4:50|2|-1",
"bases": [11863524815063131483, 14022569716337624303],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -48,35 +48,35 @@ OUTPUT:
"detailed_name": "class MiddleA : public Root {}",
"qual_name_offset": 6,
"short_name": "MiddleA",
"kind": 5,
"declarations": [],
"spell": "2:7-2:14|0|1|2|-1",
"extent": "2:1-2:31|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:14|2:1-2:31|2|-1",
"bases": [3897841498936210886],
"derived": [10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["4:24-4:31|10963370434658308541|2|2052|-1"]
"uses": ["4:24-4:31|2052|-1"]
}, {
"usr": 14022569716337624303,
"detailed_name": "class MiddleB : public Root {}",
"qual_name_offset": 6,
"short_name": "MiddleB",
"kind": 5,
"declarations": [],
"spell": "3:7-3:14|0|1|2|-1",
"extent": "3:1-3:31|0|1|0|-1",
"alias_of": 0,
"spell": "3:7-3:14|3:1-3:31|2|-1",
"bases": [3897841498936210886],
"derived": [10963370434658308541],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["4:40-4:47|10963370434658308541|2|2052|-1"]
"uses": ["4:40-4:47|2052|-1"]
}],
"usr2var": []
}

View File

@ -15,62 +15,63 @@ OUTPUT:
"detailed_name": "void Derived::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "5:8-5:11|5:3-5:25|5186|-1",
"bases": [9948027785633571339],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "5:8-5:11|10963370434658308541|2|5186|-1",
"extent": "5:3-5:25|10963370434658308541|2|0|-1",
"bases": [9948027785633571339],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 9948027785633571339,
"detailed_name": "virtual void Root::foo()",
"qual_name_offset": 13,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["2:16-2:19|2:3-2:21|3897841498936210886|2|1089|-1"],
"bases": [],
"derived": [6666242542855173890],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:16-2:19|2:3-2:21|1089|-1"],
"derived": [6666242542855173890],
"uses": []
}],
"usr2type": [{
"usr": 3897841498936210886,
"detailed_name": "class Root {}",
"qual_name_offset": 6,
"short_name": "Root",
"kind": 5,
"declarations": [],
"spell": "1:7-1:11|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:11|1:1-3:2|2|-1",
"bases": [],
"derived": [10963370434658308541],
"types": [],
"funcs": [9948027785633571339],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["4:24-4:28|10963370434658308541|2|2052|-1"]
"uses": ["4:24-4:28|2052|-1"]
}, {
"usr": 10963370434658308541,
"detailed_name": "class Derived : public Root {}",
"qual_name_offset": 6,
"short_name": "Derived",
"kind": 5,
"declarations": [],
"spell": "4:7-4:14|0|1|2|-1",
"extent": "4:1-6:2|0|1|0|-1",
"alias_of": 0,
"spell": "4:7-4:14|4:1-6:2|2|-1",
"bases": [3897841498936210886],
"derived": [],
"types": [],
"funcs": [6666242542855173890],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -12,30 +12,31 @@ OUTPUT:
"detailed_name": "virtual void IFoo::foo() = 0",
"qual_name_offset": 13,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["2:16-2:19|2:3-2:25|9949214233977131946|2|1089|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:16-2:19|2:3-2:25|1089|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 9949214233977131946,
"detailed_name": "class IFoo {}",
"qual_name_offset": 6,
"short_name": "IFoo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:11|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:11|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [3277829753446788562],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -18,98 +18,98 @@ OUTPUT:
"detailed_name": "virtual Base1::~Base1() noexcept",
"qual_name_offset": 8,
"short_name": "~Base1",
"spell": "5:11-5:17|5:3-5:23|1090|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "5:11-5:17|15826803741381445676|2|1090|-1",
"extent": "5:3-5:23|15826803741381445676|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 13164726294460837993,
"detailed_name": "Derived::~Derived() noexcept",
"qual_name_offset": 0,
"short_name": "~Derived",
"spell": "8:3-8:11|8:3-8:26|5186|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "8:3-8:11|10963370434658308541|2|5186|-1",
"extent": "8:3-8:26|10963370434658308541|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 16347272523198263017,
"detailed_name": "virtual Base0::~Base0() noexcept",
"qual_name_offset": 8,
"short_name": "~Base0",
"spell": "2:11-2:17|2:3-2:23|1090|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "2:11-2:17|11628904180681204356|2|1090|-1",
"extent": "2:3-2:23|11628904180681204356|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 10963370434658308541,
"detailed_name": "struct Derived : Base0, Base1 {}",
"qual_name_offset": 7,
"short_name": "Derived",
"kind": 23,
"declarations": [],
"spell": "7:8-7:15|0|1|2|-1",
"extent": "7:1-9:2|0|1|0|-1",
"alias_of": 0,
"spell": "7:8-7:15|7:1-9:2|2|-1",
"bases": [11628904180681204356, 15826803741381445676],
"derived": [],
"types": [],
"funcs": [13164726294460837993],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["8:4-8:11|10963370434658308541|2|4|-1"]
"uses": ["8:4-8:11|4|-1"]
}, {
"usr": 11628904180681204356,
"detailed_name": "struct Base0 {}",
"qual_name_offset": 7,
"short_name": "Base0",
"kind": 23,
"declarations": [],
"spell": "1:8-1:13|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:13|1:1-3:2|2|-1",
"bases": [],
"derived": [10963370434658308541],
"types": [],
"funcs": [16347272523198263017],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["2:12-2:17|11628904180681204356|2|4|-1", "7:18-7:23|10963370434658308541|2|2052|-1"]
"uses": ["2:12-2:17|4|-1", "7:18-7:23|2052|-1"]
}, {
"usr": 15826803741381445676,
"detailed_name": "struct Base1 {}",
"qual_name_offset": 7,
"short_name": "Base1",
"kind": 23,
"declarations": [],
"spell": "4:8-4:13|0|1|2|-1",
"extent": "4:1-6:2|0|1|0|-1",
"alias_of": 0,
"spell": "4:8-4:13|4:1-6:2|2|-1",
"bases": [],
"derived": [10963370434658308541],
"types": [],
"funcs": [8401779086123965305],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [10963370434658308541],
"instances": [],
"uses": ["5:12-5:17|15826803741381445676|2|4|-1", "7:25-7:30|10963370434658308541|2|2052|-1"]
"uses": ["5:12-5:17|4|-1", "7:25-7:30|2052|-1"]
}],
"usr2var": []
}

View File

@ -21,43 +21,45 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "1:6-1:9|1:1-12:2|2|-1",
"bases": [],
"vars": [12666114896600231317, 2981279427664991319],
"callees": ["9:14-9:15|17926497908620168464|3|16420", "10:14-10:15|17926497908620168464|3|16420", "11:14-11:15|17926497908620168464|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "1:6-1:9|0|1|2|-1",
"extent": "1:1-12:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [12666114896600231317, 2981279427664991319],
"uses": [],
"callees": ["9:14-9:15|17926497908620168464|3|16420", "10:14-10:15|17926497908620168464|3|16420", "11:14-11:15|17926497908620168464|3|16420"]
"uses": []
}, {
"usr": 17926497908620168464,
"detailed_name": "inline void foo()::(anon class)::operator()(int y) const",
"qual_name_offset": 12,
"short_name": "operator()",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [],
"uses": ["9:14-9:15|4259594751088586730|3|16420|-1", "10:14-10:15|4259594751088586730|3|16420|-1", "11:14-11:15|4259594751088586730|3|16420|-1"],
"callees": []
"uses": ["9:14-9:15|16420|-1", "10:14-10:15|16420|-1", "11:14-11:15|16420|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [12666114896600231317],
"uses": []
}, {
@ -65,14 +67,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2981279427664991319],
"uses": []
}],
@ -82,37 +85,37 @@ OUTPUT:
"qual_name_offset": 9,
"short_name": "dosomething",
"hover": "(lambda) dosomething",
"declarations": [],
"spell": "4:8-4:19|4259594751088586730|3|2|-1",
"extent": "4:3-7:4|4259594751088586730|3|0|-1",
"spell": "4:8-4:19|4:3-7:4|2|-1",
"type": 14635009347499519042,
"uses": ["9:3-9:14|4259594751088586730|3|4|-1", "10:3-10:14|4259594751088586730|3|4|-1", "11:3-11:14|4259594751088586730|3|4|-1"],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": ["9:3-9:14|4|-1", "10:3-10:14|4|-1", "11:3-11:14|4|-1"]
}, {
"usr": 12666114896600231317,
"detailed_name": "int x",
"qual_name_offset": 4,
"short_name": "x",
"declarations": [],
"spell": "2:7-2:8|4259594751088586730|3|2|-1",
"extent": "2:3-2:8|4259594751088586730|3|0|-1",
"spell": "2:7-2:8|2:3-2:8|2|-1",
"type": 53,
"uses": ["4:24-4:25|4259594751088586730|3|4|-1", "5:7-5:8|4259594751088586730|3|28|-1"],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": ["4:24-4:25|4|-1", "5:7-5:8|28|-1"]
}, {
"usr": 12879188959314906706,
"detailed_name": "int y",
"qual_name_offset": 4,
"short_name": "y",
"declarations": [],
"spell": "4:31-4:32|17926497908620168464|3|2|-1",
"extent": "4:27-4:32|4259594751088586730|3|0|-1",
"spell": "4:31-4:32|4:27-4:32|2|-1",
"type": 0,
"uses": ["6:7-6:8|4259594751088586730|3|28|-1"],
"kind": 253,
"storage": 0
"parent_kind": 6,
"storage": 0,
"declarations": [],
"uses": ["6:7-6:8|28|-1"]
}]
}
*/

View File

@ -21,45 +21,46 @@ OUTPUT:
"detailed_name": "int a()",
"qual_name_offset": 4,
"short_name": "a",
"kind": 12,
"storage": 0,
"declarations": ["12:1-12:20|12:1-12:20|0|1|1|-1"],
"spell": "12:1-12:20|0|1|2|-1",
"extent": "12:1-12:20|0|1|0|-1",
"spell": "12:1-12:20|12:1-12:4|2|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["2:7-2:8|0|1|64|0", "3:7-3:8|0|1|64|0"],
"callees": ["12:5-12:10|14400399977994209582|3|16420"]
"callees": ["12:5-12:10|14400399977994209582|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["12:1-12:20|12:1-12:4|1|-1"],
"derived": [],
"uses": ["2:7-2:8|64|0", "3:7-3:8|64|0"]
}, {
"usr": 14400399977994209582,
"detailed_name": "int make1()",
"qual_name_offset": 4,
"short_name": "make1",
"spell": "6:5-6:10|6:1-8:2|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "6:5-6:10|0|1|2|-1",
"extent": "6:1-8:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["12:5-12:10|9720930732776154610|3|16420|-1", "12:5-12:10|0|1|64|0"],
"callees": []
"uses": ["12:5-12:10|16420|-1", "12:5-12:10|64|0"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2878407290385495202],
"uses": []
}],
@ -69,26 +70,26 @@ OUTPUT:
"qual_name_offset": 10,
"short_name": "make2",
"hover": "const int make2 = 5",
"declarations": [],
"spell": "9:11-9:16|0|1|2|-1",
"extent": "9:1-9:20|0|1|0|-1",
"spell": "9:11-9:16|9:1-9:20|2|-1",
"type": 53,
"uses": ["12:14-12:19|9720930732776154610|3|12|-1", "12:14-12:19|0|1|64|0"],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": ["12:14-12:19|12|-1", "12:14-12:19|64|0"]
}, {
"usr": 14219599523415845943,
"detailed_name": "FOO",
"qual_name_offset": 0,
"short_name": "FOO",
"hover": "#define FOO(aaa, bbb) \\\n int a();\\\n int a() { return aaa + bbb; }",
"declarations": [],
"spell": "1:9-1:12|0|1|2|-1",
"extent": "1:9-3:32|0|1|0|-1",
"spell": "1:9-1:12|1:9-3:32|2|-1",
"type": 0,
"uses": ["12:1-12:4|0|1|64|-1"],
"kind": 255,
"storage": 0
"parent_kind": 1,
"storage": 0,
"declarations": [],
"uses": ["12:1-12:4|64|-1"]
}]
}
*/

View File

@ -17,30 +17,31 @@ OUTPUT:
"detailed_name": "Foo::Foo(Foo &&) = delete",
"qual_name_offset": 0,
"short_name": "Foo",
"spell": "5:12-5:15|5:3-5:11|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 9,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "5:12-5:15|15041163540773201510|2|1026|-1",
"extent": "5:12-5:15|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["5:12-5:15|0|1|64|0"],
"callees": []
"uses": ["5:12-5:15|64|0"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [10677751717622394455],
"uses": []
}, {
@ -48,18 +49,18 @@ OUTPUT:
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "4:8-4:11|0|1|2|-1",
"extent": "4:1-6:2|0|1|0|-1",
"alias_of": 0,
"spell": "4:8-4:11|4:1-6:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [13788753348312146871],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["5:12-5:15|15041163540773201510|2|4|-1", "5:12-5:15|0|1|64|0"]
"uses": ["5:12-5:15|4|-1", "5:12-5:15|64|0"]
}],
"usr2var": [{
"usr": 1569772797058982873,
@ -67,39 +68,39 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "A",
"hover": "#define A 5",
"declarations": [],
"spell": "1:9-1:10|0|1|2|-1",
"extent": "1:9-1:12|0|1|0|-1",
"spell": "1:9-1:10|1:9-1:12|2|-1",
"type": 0,
"uses": ["8:9-8:10|0|1|64|-1"],
"kind": 255,
"storage": 0
"parent_kind": 1,
"storage": 0,
"declarations": [],
"uses": ["8:9-8:10|64|-1"]
}, {
"usr": 4904139678698066671,
"detailed_name": "DISALLOW",
"qual_name_offset": 0,
"short_name": "DISALLOW",
"hover": "#define DISALLOW(type) type(type&&) = delete;",
"declarations": [],
"spell": "2:9-2:17|0|1|2|-1",
"extent": "2:9-2:46|0|1|0|-1",
"spell": "2:9-2:17|2:9-2:46|2|-1",
"type": 0,
"uses": ["5:3-5:11|0|1|64|-1"],
"kind": 255,
"storage": 0
"parent_kind": 1,
"storage": 0,
"declarations": [],
"uses": ["5:3-5:11|64|-1"]
}, {
"usr": 10677751717622394455,
"detailed_name": "int x",
"qual_name_offset": 4,
"short_name": "x",
"hover": "int x = A",
"declarations": [],
"spell": "8:5-8:6|0|1|2|-1",
"extent": "8:1-1:1|0|1|0|-1",
"spell": "8:5-8:6|8:1-8:10|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -16,30 +16,31 @@ OUTPUT:
"detailed_name": "void Foo::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["2:8-2:11|2:3-2:13|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:8-2:11|2:3-2:13|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [17922201480358737771],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -14,34 +14,34 @@ OUTPUT:
"detailed_name": "void Foo::foo() const",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["2:8-2:11|2:3-2:19|15041163540773201510|2|1025|-1"],
"spell": "5:11-5:14|15041163540773201510|2|1026|-1",
"extent": "5:1-5:25|15041163540773201510|2|0|-1",
"spell": "5:11-5:14|5:1-5:25|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": ["2:8-2:11|2:3-2:19|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [6446764306530590711],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["5:6-5:9|0|1|4|-1"]
"uses": ["5:6-5:9|4|-1"]
}],
"usr2var": []
}

View File

@ -12,32 +12,32 @@ OUTPUT:
"detailed_name": "void Foo::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "2:8-2:11|2:3-2:16|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "2:8-2:11|15041163540773201510|2|1026|-1",
"extent": "2:3-2:16|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [17922201480358737771],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -11,22 +11,7 @@ OUTPUT: funky_enum.h
"includes": [],
"skipped_ranges": [],
"usr2func": [],
"usr2type": [{
"usr": 16985894625255407295,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [],
"instances": [],
"uses": []
}],
"usr2type": [],
"usr2var": [{
"usr": 439339022761937396,
"detailed_name": "A",
@ -34,13 +19,13 @@ OUTPUT: funky_enum.h
"short_name": "A",
"hover": "A = 0",
"comments": "This file cannot be built directory. It is included in an enum definition of\nanother file.",
"declarations": [],
"spell": "4:1-4:2|16985894625255407295|2|1026|-1",
"extent": "4:1-4:2|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "4:1-4:2|4:1-4:2|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 8524995777615948802,
"detailed_name": "C",
@ -48,13 +33,13 @@ OUTPUT: funky_enum.h
"short_name": "C",
"hover": "C = 2",
"comments": "This file cannot be built directory. It is included in an enum definition of\nanother file.",
"declarations": [],
"spell": "6:1-6:2|16985894625255407295|2|1026|-1",
"extent": "6:1-6:2|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "6:1-6:2|6:1-6:2|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15962370213938840720,
"detailed_name": "B",
@ -62,13 +47,13 @@ OUTPUT: funky_enum.h
"short_name": "B",
"hover": "B = 1",
"comments": "This file cannot be built directory. It is included in an enum definition of\nanother file.",
"declarations": [],
"spell": "5:1-5:2|16985894625255407295|2|1026|-1",
"extent": "5:1-5:2|16985894625255407295|2|0|-1",
"type": 0,
"uses": [],
"spell": "5:1-5:2|5:1-5:2|1026|-1",
"type": 16985894625255407295,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
OUTPUT: funky_enum.cc
@ -84,16 +69,16 @@ OUTPUT: funky_enum.cc
"detailed_name": "enum Foo {}",
"qual_name_offset": 5,
"short_name": "Foo",
"kind": 10,
"declarations": [],
"spell": "1:6-1:9|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:6-1:9|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -14,30 +14,31 @@ OUTPUT: header.h
"detailed_name": "void Foo1()",
"qual_name_offset": 5,
"short_name": "Foo1",
"spell": "10:6-10:10|10:1-10:15|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "10:6-10:10|0|1|2|-1",
"extent": "10:1-10:15|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2638219001294786365, 8395885290297540138],
"uses": []
}, {
@ -45,16 +46,16 @@ OUTPUT: header.h
"detailed_name": "struct Foo2 {}",
"qual_name_offset": 7,
"short_name": "Foo2",
"kind": 23,
"declarations": [],
"spell": "13:8-13:12|0|1|2|-1",
"extent": "13:1-13:15|0|1|0|-1",
"alias_of": 0,
"spell": "13:8-13:12|13:1-13:15|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -62,16 +63,16 @@ OUTPUT: header.h
"detailed_name": "using Foo0 = SameFileDerived",
"qual_name_offset": 6,
"short_name": "Foo0",
"kind": 252,
"declarations": [],
"spell": "7:7-7:11|0|1|2|-1",
"extent": "7:1-7:29|0|1|0|-1",
"alias_of": 16750616846959666305,
"spell": "7:7-7:11|7:1-7:29|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 16750616846959666305,
"kind": 252,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -79,16 +80,16 @@ OUTPUT: header.h
"detailed_name": "enum Foo3 {}",
"qual_name_offset": 5,
"short_name": "Foo3",
"kind": 10,
"declarations": [],
"spell": "15:6-15:10|0|1|2|-1",
"extent": "15:1-15:22|0|1|0|-1",
"alias_of": 0,
"spell": "15:6-15:10|15:1-15:22|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -96,99 +97,99 @@ OUTPUT: header.h
"detailed_name": "struct Base {}",
"qual_name_offset": 7,
"short_name": "Base",
"kind": 23,
"declarations": [],
"spell": "3:8-3:12|0|1|2|-1",
"extent": "3:1-3:15|0|1|0|-1",
"alias_of": 0,
"spell": "3:8-3:12|3:1-3:15|2|-1",
"bases": [],
"derived": [16750616846959666305],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [16750616846959666305],
"instances": [],
"uses": ["5:26-5:30|16750616846959666305|2|2052|-1"]
"uses": ["5:26-5:30|2052|-1"]
}, {
"usr": 16750616846959666305,
"detailed_name": "struct SameFileDerived : Base {}",
"qual_name_offset": 7,
"short_name": "SameFileDerived",
"kind": 23,
"declarations": [],
"spell": "5:8-5:23|0|1|2|-1",
"extent": "5:1-5:33|0|1|0|-1",
"alias_of": 0,
"spell": "5:8-5:23|5:1-5:33|2|-1",
"bases": [8420119006782424779],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["7:14-7:29|0|1|4|-1"]
"uses": ["7:14-7:29|4|-1"]
}],
"usr2var": [{
"usr": 2638219001294786365,
"detailed_name": "int Foo4",
"qual_name_offset": 4,
"short_name": "Foo4",
"declarations": [],
"spell": "17:5-17:9|0|1|2|-1",
"extent": "17:1-17:9|0|1|0|-1",
"spell": "17:5-17:9|17:1-17:9|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 6141718166919284735,
"detailed_name": "A",
"qual_name_offset": 0,
"short_name": "A",
"hover": "A = 0",
"declarations": [],
"spell": "15:13-15:14|4481210672785600703|2|1026|-1",
"extent": "15:13-15:14|4481210672785600703|2|0|-1",
"type": 0,
"uses": [],
"spell": "15:13-15:14|15:13-15:14|1026|-1",
"type": 4481210672785600703,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 7285646116511901840,
"detailed_name": "C",
"qual_name_offset": 0,
"short_name": "C",
"hover": "C = 2",
"declarations": [],
"spell": "15:19-15:20|4481210672785600703|2|1026|-1",
"extent": "15:19-15:20|4481210672785600703|2|0|-1",
"type": 0,
"uses": [],
"spell": "15:19-15:20|15:19-15:20|1026|-1",
"type": 4481210672785600703,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 8395885290297540138,
"detailed_name": "static int Foo5",
"qual_name_offset": 11,
"short_name": "Foo5",
"declarations": [],
"spell": "18:12-18:16|0|1|2|-1",
"extent": "18:1-18:16|0|1|0|-1",
"spell": "18:12-18:16|18:1-18:16|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 2
"parent_kind": 0,
"storage": 2,
"declarations": [],
"uses": []
}, {
"usr": 17716334512218775320,
"detailed_name": "B",
"qual_name_offset": 0,
"short_name": "B",
"hover": "B = 1",
"declarations": [],
"spell": "15:16-15:17|4481210672785600703|2|1026|-1",
"extent": "15:16-15:17|4481210672785600703|2|0|-1",
"type": 0,
"uses": [],
"spell": "15:16-15:17|15:16-15:17|1026|-1",
"type": 4481210672785600703,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
OUTPUT: impl.cc
@ -203,29 +204,30 @@ OUTPUT: impl.cc
"detailed_name": "void Impl()",
"qual_name_offset": 5,
"short_name": "Impl",
"spell": "3:6-3:10|3:1-5:2|2|-1",
"bases": [],
"vars": [],
"callees": ["4:3-4:7|11650481237659640387|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "3:6-3:10|0|1|2|-1",
"extent": "3:1-5:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["4:3-4:7|11650481237659640387|3|16420"]
"uses": []
}, {
"usr": 11650481237659640387,
"detailed_name": "void Foo1()",
"qual_name_offset": 5,
"short_name": "Foo1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [],
"uses": ["4:3-4:7|5817708529036841195|3|16420|-1"],
"callees": []
"uses": ["4:3-4:7|16420|-1"]
}],
"usr2type": [],
"usr2var": []

View File

@ -14,14 +14,15 @@ OUTPUT: simple_header.h
"detailed_name": "void header()",
"qual_name_offset": 5,
"short_name": "header",
"kind": 12,
"storage": 0,
"declarations": ["3:6-3:12|3:1-3:14|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["3:6-3:12|3:1-3:14|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [],
"usr2var": []
@ -38,29 +39,30 @@ OUTPUT: simple_impl.cc
"detailed_name": "void impl()",
"qual_name_offset": 5,
"short_name": "impl",
"spell": "3:6-3:10|3:1-5:2|2|-1",
"bases": [],
"vars": [],
"callees": ["4:3-4:9|16236105532929924676|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "3:6-3:10|0|1|2|-1",
"extent": "3:1-5:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["4:3-4:9|16236105532929924676|3|16420"]
"uses": []
}, {
"usr": 16236105532929924676,
"detailed_name": "void header()",
"qual_name_offset": 5,
"short_name": "header",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [],
"uses": ["4:3-4:9|3373269392705484958|3|16420|-1"],
"callees": []
"uses": ["4:3-4:9|16420|-1"]
}],
"usr2type": [],
"usr2var": []

View File

@ -12,30 +12,31 @@ OUTPUT: static.h
"detailed_name": "static void Buffer::CreateSharedBuffer()",
"qual_name_offset": 12,
"short_name": "CreateSharedBuffer",
"kind": 254,
"storage": 0,
"declarations": ["4:15-4:33|4:3-4:35|9411323049603567600|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 254,
"parent_kind": 0,
"storage": 0,
"declarations": ["4:15-4:33|4:3-4:35|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 9411323049603567600,
"detailed_name": "struct Buffer {}",
"qual_name_offset": 7,
"short_name": "Buffer",
"kind": 23,
"declarations": [],
"spell": "3:8-3:14|0|1|2|-1",
"extent": "3:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "3:8-3:14|3:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [14576076421851654759],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -53,32 +54,33 @@ OUTPUT: static.cc
"detailed_name": "static void Buffer::CreateSharedBuffer()",
"qual_name_offset": 12,
"short_name": "CreateSharedBuffer",
"spell": "3:14-3:32|3:1-3:37|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 254,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "3:14-3:32|9411323049603567600|2|1026|-1",
"extent": "3:1-3:37|9411323049603567600|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 9411323049603567600,
"detailed_name": "struct Buffer {}",
"qual_name_offset": 7,
"short_name": "Buffer",
"kind": 23,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [14576076421851654759],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["3:6-3:12|0|1|4|-1"]
"uses": ["3:6-3:12|4|-1"]
}],
"usr2var": []
}

View File

@ -12,31 +12,17 @@ OUTPUT:
"detailed_name": "void (anon ns)::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:6-2:9|2:1-2:11|7144845543074395457|2|1|-1"],
"bases": [],
"declarations": ["2:6-2:9|2:1-2:11|1|-1"],
"derived": [],
"vars": [],
"uses": [],
"callees": []
}],
"usr2type": [{
"usr": 7144845543074395457,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [5010253035933134245],
"vars": [],
"instances": [],
"uses": []
}],
"usr2type": [],
"usr2var": []
}
*/

View File

@ -12,28 +12,30 @@ OUTPUT:
"detailed_name": "void hello::foo(int a, int b)",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["2:6-2:9|2:1-2:23|2029211996748007610|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:6-2:9|2:1-2:23|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 2029211996748007610,
"detailed_name": "namespace hello {}",
"qual_name_offset": 10,
"short_name": "hello",
"kind": 3,
"declarations": ["1:11-1:16|1:1-3:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [18343102288837190527],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:16|1:1-3:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -12,30 +12,31 @@ OUTPUT:
"detailed_name": "void hello::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "2:6-2:9|2:1-2:14|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 3,
"storage": 0,
"declarations": [],
"spell": "2:6-2:9|2029211996748007610|2|1026|-1",
"extent": "2:1-2:14|2029211996748007610|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 2029211996748007610,
"detailed_name": "namespace hello {}",
"qual_name_offset": 10,
"short_name": "hello",
"kind": 3,
"declarations": ["1:11-1:16|1:1-3:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [243328841292951622],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:16|1:1-3:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -14,28 +14,30 @@ OUTPUT:
"detailed_name": "void hello::Foo::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["3:8-3:11|3:3-3:13|4508214972876735896|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["3:8-3:11|3:3-3:13|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 2029211996748007610,
"detailed_name": "namespace hello {}",
"qual_name_offset": 10,
"short_name": "hello",
"kind": 3,
"declarations": ["1:11-1:16|1:1-5:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [4508214972876735896],
"funcs": [],
"types": [4508214972876735896],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:16|1:1-5:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -43,16 +45,16 @@ OUTPUT:
"detailed_name": "class hello::Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "2:7-2:10|2029211996748007610|2|1026|-1",
"extent": "2:1-4:2|2029211996748007610|2|0|-1",
"alias_of": 0,
"spell": "2:7-2:10|2:1-4:2|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [10487325150128053272],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -16,30 +16,31 @@ OUTPUT:
"detailed_name": "void hello::Foo::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["3:8-3:11|3:3-3:13|4508214972876735896|2|1025|-1"],
"spell": "6:11-6:14|4508214972876735896|2|1026|-1",
"extent": "6:1-6:19|4508214972876735896|2|0|-1",
"spell": "6:11-6:14|6:1-6:19|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": ["3:8-3:11|3:3-3:13|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 2029211996748007610,
"detailed_name": "namespace hello {}",
"qual_name_offset": 10,
"short_name": "hello",
"kind": 3,
"declarations": ["1:11-1:16|1:1-7:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [4508214972876735896],
"funcs": [],
"types": [4508214972876735896],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:16|1:1-7:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -47,18 +48,18 @@ OUTPUT:
"detailed_name": "class hello::Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "2:7-2:10|2029211996748007610|2|1026|-1",
"extent": "2:1-4:2|2029211996748007610|2|0|-1",
"alias_of": 0,
"spell": "2:7-2:10|2:1-4:2|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [10487325150128053272],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["6:6-6:9|2029211996748007610|2|4|-1"]
"uses": ["6:6-6:9|4|-1"]
}],
"usr2var": []
}

View File

@ -14,30 +14,31 @@ OUTPUT:
"detailed_name": "void hello::Foo::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "3:8-3:11|3:3-3:16|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "3:8-3:11|4508214972876735896|2|1026|-1",
"extent": "3:3-3:16|4508214972876735896|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 2029211996748007610,
"detailed_name": "namespace hello {}",
"qual_name_offset": 10,
"short_name": "hello",
"kind": 3,
"declarations": ["1:11-1:16|1:1-5:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [4508214972876735896],
"funcs": [],
"types": [4508214972876735896],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:16|1:1-5:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -45,16 +46,16 @@ OUTPUT:
"detailed_name": "class hello::Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "2:7-2:10|2029211996748007610|2|1026|-1",
"extent": "2:1-4:2|2029211996748007610|2|0|-1",
"alias_of": 0,
"spell": "2:7-2:10|2:1-4:2|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [10487325150128053272],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -23,30 +23,31 @@ OUTPUT:
"detailed_name": "void func()",
"qual_name_offset": 5,
"short_name": "func",
"spell": "11:6-11:10|11:1-14:2|2|-1",
"bases": [],
"vars": [6030927277961448585, 7657277353101371136],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "11:6-11:10|0|1|2|-1",
"extent": "11:1-14:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [6030927277961448585, 7657277353101371136],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [15042442838933090518, 6030927277961448585, 7657277353101371136],
"uses": []
}, {
@ -54,64 +55,68 @@ OUTPUT:
"detailed_name": "namespace foo {}",
"qual_name_offset": 10,
"short_name": "foo",
"kind": 3,
"declarations": ["1:11-1:14|1:1-7:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [17805385787823406700],
"types": [17805385787823406700],
"funcs": [],
"types": [17805385787823406700],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:14|1:1-7:2|1|-1"],
"derived": [17805385787823406700],
"instances": [],
"uses": ["9:17-9:20|0|1|4|-1", "12:11-12:14|10818727483146447186|3|4|-1"]
"uses": ["9:17-9:20|4|-1", "12:11-12:14|4|-1"]
}, {
"usr": 11879713791858506216,
"detailed_name": "namespace fbz = foo::bar::baz",
"qual_name_offset": 10,
"short_name": "fbz",
"kind": 252,
"declarations": ["9:11-9:14|9:1-9:30|0|1|1|-1"],
"alias_of": 14450849931009540802,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 14450849931009540802,
"kind": 252,
"parent_kind": 0,
"declarations": ["9:11-9:14|9:1-9:30|1|-1"],
"derived": [],
"instances": [],
"uses": ["13:11-13:14|10818727483146447186|3|4|-1"]
"uses": ["13:11-13:14|4|-1"]
}, {
"usr": 14450849931009540802,
"detailed_name": "namespace foo::bar::baz {}",
"qual_name_offset": 10,
"short_name": "baz",
"kind": 3,
"declarations": ["3:20-3:23|3:10-5:11|17805385787823406700|2|1025|-1"],
"alias_of": 0,
"bases": [17805385787823406700],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 15042442838933090518,
"R": -1
}],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["3:20-3:23|3:10-5:11|1025|-1"],
"derived": [],
"instances": [],
"uses": ["9:27-9:30|0|1|4|-1", "12:21-12:24|10818727483146447186|3|4|-1"]
"uses": ["9:27-9:30|4|-1", "12:21-12:24|4|-1"]
}, {
"usr": 17805385787823406700,
"detailed_name": "namespace foo::bar {}",
"qual_name_offset": 10,
"short_name": "bar",
"kind": 3,
"declarations": ["2:15-2:18|2:5-6:6|926793467007732869|2|1025|-1"],
"alias_of": 0,
"bases": [926793467007732869],
"derived": [14450849931009540802],
"types": [14450849931009540802],
"funcs": [],
"types": [14450849931009540802],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["2:15-2:18|2:5-6:6|1025|-1"],
"derived": [14450849931009540802],
"instances": [],
"uses": ["9:22-9:25|0|1|4|-1", "12:16-12:19|10818727483146447186|3|4|-1"]
"uses": ["9:22-9:25|4|-1", "12:16-12:19|4|-1"]
}],
"usr2var": [{
"usr": 6030927277961448585,
@ -119,39 +124,39 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "a",
"hover": "int a = foo::bar::baz::qux",
"declarations": [],
"spell": "12:7-12:8|10818727483146447186|3|2|-1",
"extent": "12:3-12:29|10818727483146447186|3|0|-1",
"spell": "12:7-12:8|12:3-12:29|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 7657277353101371136,
"detailed_name": "int b",
"qual_name_offset": 4,
"short_name": "b",
"hover": "int b = fbz::qux",
"declarations": [],
"spell": "13:7-13:8|10818727483146447186|3|2|-1",
"extent": "13:3-13:19|10818727483146447186|3|0|-1",
"spell": "13:7-13:8|13:3-13:19|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15042442838933090518,
"detailed_name": "int foo::bar::baz::qux",
"qual_name_offset": 4,
"short_name": "qux",
"hover": "int foo::bar::baz::qux = 42",
"declarations": [],
"spell": "4:18-4:21|14450849931009540802|2|1026|-1",
"extent": "4:14-4:26|14450849931009540802|2|0|-1",
"spell": "4:18-4:21|4:14-4:26|1026|-1",
"type": 53,
"uses": ["12:26-12:29|10818727483146447186|3|12|-1", "13:16-13:19|10818727483146447186|3|12|-1"],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": ["12:26-12:29|12|-1", "13:16-13:19|12|-1"]
}]
}
*/

View File

@ -19,45 +19,46 @@ OUTPUT:
"detailed_name": "void Runner()",
"qual_name_offset": 5,
"short_name": "Runner",
"spell": "6:6-6:12|6:1-10:2|2|-1",
"bases": [],
"vars": [],
"callees": ["7:7-7:13|17328473273923617489|3|16420", "9:3-9:9|17328473273923617489|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "6:6-6:12|0|1|2|-1",
"extent": "6:1-10:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["7:7-7:13|17328473273923617489|3|16420", "9:3-9:9|17328473273923617489|3|16420"]
"uses": []
}, {
"usr": 17328473273923617489,
"detailed_name": "void ns::Accept(int a)",
"qual_name_offset": 5,
"short_name": "Accept",
"spell": "3:8-3:14|3:3-3:24|1026|-1",
"bases": [],
"vars": [3649375698083002347],
"callees": [],
"kind": 12,
"parent_kind": 3,
"storage": 0,
"declarations": [],
"spell": "3:8-3:14|11072669167287398027|2|1026|-1",
"extent": "3:3-3:24|11072669167287398027|2|0|-1",
"bases": [],
"derived": [],
"vars": [3649375698083002347],
"uses": ["7:7-7:13|631910859630953711|3|16420|-1", "9:3-9:9|631910859630953711|3|16420|-1"],
"callees": []
"uses": ["7:7-7:13|16420|-1", "9:3-9:9|16420|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [12898699035586282159, 3649375698083002347],
"uses": []
}, {
@ -65,44 +66,45 @@ OUTPUT:
"detailed_name": "namespace ns {}",
"qual_name_offset": 10,
"short_name": "ns",
"kind": 3,
"declarations": ["1:11-1:13|1:1-4:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [17328473273923617489],
"types": [],
"vars": [{
"L": 12898699035586282159,
"R": -1
}],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:13|1:1-4:2|1|-1"],
"derived": [],
"instances": [],
"uses": ["7:3-7:5|631910859630953711|3|4|-1", "7:14-7:16|631910859630953711|3|4|-1", "8:19-8:21|631910859630953711|3|4|-1"]
"uses": ["7:3-7:5|4|-1", "7:14-7:16|4|-1", "8:19-8:21|4|-1"]
}],
"usr2var": [{
"usr": 3649375698083002347,
"detailed_name": "int a",
"qual_name_offset": 4,
"short_name": "a",
"declarations": [],
"spell": "3:19-3:20|17328473273923617489|3|1026|-1",
"extent": "3:15-3:20|17328473273923617489|3|0|-1",
"spell": "3:19-3:20|3:15-3:20|1026|-1",
"type": 53,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 12898699035586282159,
"detailed_name": "int ns::Foo",
"qual_name_offset": 4,
"short_name": "Foo",
"declarations": [],
"spell": "2:7-2:10|11072669167287398027|2|1026|-1",
"extent": "2:3-2:10|11072669167287398027|2|0|-1",
"spell": "2:7-2:10|2:3-2:10|1026|-1",
"type": 53,
"uses": ["7:18-7:21|631910859630953711|3|12|-1", "9:10-9:13|631910859630953711|3|12|-1"],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": ["7:18-7:21|12|-1", "9:10-9:13|12|-1"]
}]
}
*/

View File

@ -16,73 +16,76 @@ OUTPUT:
"detailed_name": "void Foo::operator()(bool)",
"qual_name_offset": 5,
"short_name": "operator()",
"kind": 6,
"storage": 0,
"declarations": ["3:8-3:16|3:3-3:24|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["3:8-3:16|3:3-3:24|1025|-1"],
"derived": [],
"uses": []
}, {
"usr": 3986818119971932909,
"detailed_name": "int Foo::operator()(int a, int b)",
"qual_name_offset": 4,
"short_name": "operator()",
"kind": 6,
"storage": 0,
"declarations": ["4:7-4:15|4:3-4:31|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["4:7-4:15|4:3-4:31|1025|-1"],
"derived": [],
"uses": []
}, {
"usr": 7874436189163837815,
"detailed_name": "void Foo::operator()(int)",
"qual_name_offset": 5,
"short_name": "operator()",
"spell": "2:8-2:18|2:3-2:27|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "2:8-2:18|15041163540773201510|2|1026|-1",
"extent": "2:3-2:27|15041163540773201510|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 8288368475529136092,
"detailed_name": "Foo &operator+=(const Foo &, const int &)",
"qual_name_offset": 5,
"short_name": "operator+=",
"kind": 12,
"storage": 0,
"declarations": ["7:6-7:14|7:1-7:42|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["7:6-7:14|7:1-7:42|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [7874436189163837815, 3545323327609582678, 3986818119971932909],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["7:1-7:4|0|1|4|-1", "7:25-7:28|0|1|4|-1"]
"uses": ["7:1-7:4|4|-1", "7:25-7:28|4|-1"]
}],
"usr2var": []
}

View File

@ -16,43 +16,46 @@ OUTPUT: static_function_in_type.h
"detailed_name": "static void ns::Foo::Register(ns::Manager *)",
"qual_name_offset": 12,
"short_name": "Register",
"kind": 254,
"storage": 0,
"declarations": ["6:15-6:23|6:3-6:33|17262466801709381811|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 254,
"parent_kind": 0,
"storage": 0,
"declarations": ["6:15-6:23|6:3-6:33|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 1972401196751872203,
"detailed_name": "class ns::Manager",
"qual_name_offset": 6,
"short_name": "Manager",
"kind": 5,
"declarations": ["3:7-3:14|3:1-3:14|11072669167287398027|2|1025|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": ["3:7-3:14|3:1-3:14|1025|-1"],
"derived": [],
"instances": [],
"uses": ["6:24-6:31|17262466801709381811|2|4|-1"]
"uses": ["6:24-6:31|4|-1"]
}, {
"usr": 11072669167287398027,
"detailed_name": "namespace ns {}",
"qual_name_offset": 10,
"short_name": "ns",
"kind": 3,
"declarations": ["1:11-1:13|1:1-9:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [1972401196751872203, 17262466801709381811],
"funcs": [],
"types": [1972401196751872203, 17262466801709381811],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:13|1:1-9:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -60,16 +63,16 @@ OUTPUT: static_function_in_type.h
"detailed_name": "struct ns::Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "5:8-5:11|11072669167287398027|2|1026|-1",
"extent": "5:1-7:2|11072669167287398027|2|0|-1",
"alias_of": 0,
"spell": "5:8-5:11|5:1-7:2|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [17019747379608639279],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -87,46 +90,48 @@ OUTPUT: static_function_in_type.cc
"detailed_name": "static void ns::Foo::Register(ns::Manager *)",
"qual_name_offset": 12,
"short_name": "Register",
"kind": 254,
"storage": 0,
"spell": "5:11-5:19|5:1-6:2|1026|-1",
"comments": "static",
"declarations": [],
"spell": "5:11-5:19|17262466801709381811|2|1026|-1",
"extent": "5:1-6:2|17262466801709381811|2|0|-1",
"bases": [],
"derived": [],
"vars": [13569879755236306838],
"uses": [],
"callees": []
"callees": [],
"kind": 254,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 1972401196751872203,
"detailed_name": "class ns::Manager",
"qual_name_offset": 6,
"short_name": "Manager",
"kind": 5,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [13569879755236306838],
"uses": ["5:20-5:27|11072669167287398027|2|4|-1"]
"uses": ["5:20-5:27|4|-1"]
}, {
"usr": 11072669167287398027,
"detailed_name": "namespace ns {}",
"qual_name_offset": 10,
"short_name": "ns",
"kind": 3,
"declarations": ["3:11-3:13|3:1-7:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["3:11-3:13|3:1-7:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -134,29 +139,30 @@ OUTPUT: static_function_in_type.cc
"detailed_name": "struct ns::Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [17019747379608639279],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["5:6-5:9|11072669167287398027|2|4|-1"]
"uses": ["5:6-5:9|4|-1"]
}],
"usr2var": [{
"usr": 13569879755236306838,
"detailed_name": "ns::Manager *m",
"qual_name_offset": 13,
"short_name": "m",
"declarations": [],
"spell": "5:29-5:30|17019747379608639279|3|1026|-1",
"extent": "5:20-5:30|17019747379608639279|3|0|-1",
"spell": "5:29-5:30|5:20-5:30|1026|-1",
"type": 1972401196751872203,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 254,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -16,13 +16,13 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "FOO",
"hover": "#define FOO",
"declarations": [],
"spell": "2:9-2:12|0|1|2|-1",
"extent": "2:9-2:12|0|1|0|-1",
"spell": "2:9-2:12|2:9-2:12|2|-1",
"type": 0,
"uses": [],
"kind": 255,
"storage": 0
"parent_kind": 1,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -17,51 +17,51 @@ OUTPUT:
"detailed_name": "void Foo::Bar(Template<double> &)",
"qual_name_offset": 5,
"short_name": "Bar",
"kind": 6,
"storage": 0,
"declarations": ["5:8-5:11|5:3-5:30|15041163540773201510|2|1025|-1"],
"spell": "8:11-8:14|15041163540773201510|2|1026|-1",
"extent": "8:1-8:36|15041163540773201510|2|0|-1",
"spell": "8:11-8:14|8:1-8:36|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 23,
"storage": 0,
"declarations": ["5:8-5:11|5:3-5:30|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "4:8-4:11|0|1|2|-1",
"extent": "4:1-6:2|0|1|0|-1",
"alias_of": 0,
"spell": "4:8-4:11|4:1-6:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [8412238651648388423],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["8:6-8:9|0|1|4|-1"]
"uses": ["8:6-8:9|4|-1"]
}, {
"usr": 17107291254533526269,
"detailed_name": "class Template {}",
"qual_name_offset": 6,
"short_name": "Template",
"kind": 5,
"declarations": [],
"spell": "2:7-2:15|0|1|2|-1",
"extent": "2:1-2:18|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:15|2:1-2:18|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["5:12-5:20|15041163540773201510|2|4|-1", "8:15-8:23|0|1|4|-1"]
"uses": ["5:12-5:20|4|-1", "8:15-8:23|4|-1"]
}],
"usr2var": []
}

View File

@ -25,14 +25,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [12898699035586282159, 9008550860229740818],
"uses": []
}, {
@ -40,30 +41,26 @@ OUTPUT:
"detailed_name": "enum ns::VarType {}",
"qual_name_offset": 5,
"short_name": "VarType",
"kind": 10,
"declarations": [],
"spell": "2:8-2:15|11072669167287398027|2|1026|-1",
"extent": "2:3-2:18|11072669167287398027|2|0|-1",
"alias_of": 0,
"spell": "2:8-2:15|2:3-2:18|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [4731849186641714451, 4731849186641714451],
"uses": ["6:22-6:29|12688716854043726585|2|4|-1", "6:44-6:51|12688716854043726585|2|4|-1", "10:18-10:25|11072669167287398027|2|4|-1"]
"uses": ["6:22-6:29|4|-1", "6:44-6:51|4|-1", "10:18-10:25|4|-1"]
}, {
"usr": 11072669167287398027,
"detailed_name": "namespace ns {}",
"qual_name_offset": 10,
"short_name": "ns",
"kind": 3,
"declarations": ["1:11-1:13|1:1-15:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [1532099849728741556, 12688716854043726585],
"funcs": [],
"types": [1532099849728741556, 12688716854043726585],
"vars": [{
"L": 12898699035586282159,
"R": -1
@ -71,6 +68,11 @@ OUTPUT:
"L": 9008550860229740818,
"R": -1
}],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:13|1:1-15:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -78,18 +80,18 @@ OUTPUT:
"detailed_name": "struct ns::Holder {}",
"qual_name_offset": 7,
"short_name": "Holder",
"kind": 23,
"declarations": [],
"spell": "5:10-5:16|11072669167287398027|2|1026|-1",
"extent": "5:3-7:4|11072669167287398027|2|0|-1",
"alias_of": 0,
"spell": "5:10-5:16|5:3-7:4|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["10:26-10:32|11072669167287398027|2|4|-1", "13:13-13:19|11072669167287398027|2|4|-1", "14:14-14:20|11072669167287398027|2|4|-1"]
"uses": ["10:26-10:32|4|-1", "13:13-13:19|4|-1", "14:14-14:20|4|-1"]
}],
"usr2var": [{
"usr": 4731849186641714451,
@ -97,39 +99,39 @@ OUTPUT:
"qual_name_offset": 29,
"short_name": "static_var",
"hover": "static constexpr ns::VarType ns::Holder::static_var = (VarType)0x0",
"declarations": ["6:30-6:40|6:5-6:55|12688716854043726585|2|1025|-1"],
"spell": "10:37-10:47|12688716854043726585|2|1026|-1",
"extent": "9:3-10:47|12688716854043726585|2|0|-1",
"spell": "10:37-10:47|9:3-10:47|1026|-1",
"type": 1532099849728741556,
"uses": ["13:26-13:36|11072669167287398027|2|12|-1", "14:27-14:37|11072669167287398027|2|12|-1"],
"kind": 13,
"storage": 2
"parent_kind": 23,
"storage": 2,
"declarations": ["6:30-6:40|6:5-6:55|1025|-1"],
"uses": ["13:26-13:36|12|-1", "14:27-14:37|12|-1"]
}, {
"usr": 9008550860229740818,
"detailed_name": "int ns::Foo2",
"qual_name_offset": 4,
"short_name": "Foo2",
"hover": "int ns::Foo2 = Holder<int>::static_var",
"declarations": [],
"spell": "14:7-14:11|11072669167287398027|2|1026|-1",
"extent": "14:3-14:37|11072669167287398027|2|0|-1",
"spell": "14:7-14:11|14:3-14:37|1026|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 12898699035586282159,
"detailed_name": "int ns::Foo",
"qual_name_offset": 4,
"short_name": "Foo",
"hover": "int ns::Foo = Holder<int>::static_var",
"declarations": [],
"spell": "13:7-13:10|11072669167287398027|2|1026|-1",
"extent": "13:3-13:36|11072669167287398027|2|0|-1",
"spell": "13:7-13:10|13:3-13:36|1026|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -30,48 +30,49 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "8:6-8:9|8:1-8:11|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "8:6-8:9|0|1|2|-1",
"extent": "8:1-8:11|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 8905286151237717330,
"detailed_name": "void C::bar()",
"qual_name_offset": 5,
"short_name": "bar",
"kind": 6,
"storage": 0,
"declarations": ["4:8-4:11|4:3-4:13|8402783583255987702|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["4:8-4:11|4:3-4:13|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 8402783583255987702,
"detailed_name": "struct C {}",
"qual_name_offset": 7,
"short_name": "C",
"kind": 23,
"declarations": [],
"spell": "2:8-2:9|0|1|2|-1",
"extent": "2:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:9|2:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [8905286151237717330],
"types": [],
"vars": [{
"L": 5866801090710377175,
"R": -1
}],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -79,16 +80,16 @@ OUTPUT:
"detailed_name": "T",
"qual_name_offset": 0,
"short_name": "T",
"kind": 26,
"declarations": [],
"spell": "1:17-1:18|8402783583255987702|2|2|-1",
"extent": "1:11-1:18|8402783583255987702|2|0|-1",
"alias_of": 0,
"spell": "1:17-1:18|1:11-1:18|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 26,
"parent_kind": 5,
"declarations": [],
"derived": [],
"instances": [5866801090710377175],
"uses": []
}],
@ -97,13 +98,13 @@ OUTPUT:
"detailed_name": "T C::x",
"qual_name_offset": 2,
"short_name": "x",
"declarations": [],
"spell": "3:5-3:6|8402783583255987702|2|1026|-1",
"extent": "3:3-3:6|8402783583255987702|2|0|-1",
"spell": "3:5-3:6|3:3-3:6|1026|-1",
"type": 14750650276757822712,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 23,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -21,30 +21,31 @@ OUTPUT:
"detailed_name": "static int ns::Foo::foo()",
"qual_name_offset": 11,
"short_name": "foo",
"spell": "5:16-5:19|5:5-7:6|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 254,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "5:16-5:19|14042997404480181958|2|1026|-1",
"extent": "5:5-7:6|14042997404480181958|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["10:21-10:24|11072669167287398027|2|36|-1", "11:22-11:25|11072669167287398027|2|36|-1"],
"callees": []
"uses": ["10:21-10:24|36|-1", "11:22-11:25|36|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [15768138241775955040, 3182917058194750998],
"uses": []
}, {
@ -52,13 +53,9 @@ OUTPUT:
"detailed_name": "namespace ns {}",
"qual_name_offset": 10,
"short_name": "ns",
"kind": 3,
"declarations": ["1:11-1:13|1:1-12:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [14042997404480181958],
"funcs": [],
"types": [14042997404480181958],
"vars": [{
"L": 15768138241775955040,
"R": -1
@ -66,6 +63,11 @@ OUTPUT:
"L": 3182917058194750998,
"R": -1
}],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:13|1:1-12:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -73,18 +75,18 @@ OUTPUT:
"detailed_name": "struct ns::Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "3:10-3:13|11072669167287398027|2|1026|-1",
"extent": "3:3-8:4|11072669167287398027|2|0|-1",
"alias_of": 0,
"spell": "3:10-3:13|3:3-8:4|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [8221803074608342407],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["10:11-10:14|11072669167287398027|2|4|-1", "11:11-11:14|11072669167287398027|2|4|-1"]
"uses": ["10:11-10:14|4|-1", "11:11-11:14|4|-1"]
}],
"usr2var": [{
"usr": 3182917058194750998,
@ -92,26 +94,26 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "b",
"hover": "int ns::b = Foo<bool>::foo<double>()",
"declarations": [],
"spell": "11:7-11:8|11072669167287398027|2|1026|-1",
"extent": "11:3-11:35|11072669167287398027|2|0|-1",
"spell": "11:7-11:8|11:3-11:35|1026|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15768138241775955040,
"detailed_name": "int ns::a",
"qual_name_offset": 4,
"short_name": "a",
"hover": "int ns::a = Foo<int>::foo<float>()",
"declarations": [],
"spell": "10:7-10:8|11072669167287398027|2|1026|-1",
"extent": "10:3-10:33|11072669167287398027|2|0|-1",
"spell": "10:7-10:8|10:3-10:33|1026|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -17,13 +17,9 @@ OUTPUT:
"detailed_name": "namespace ns {}",
"qual_name_offset": 10,
"short_name": "ns",
"kind": 3,
"declarations": ["1:11-1:13|1:1-7:2|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [14042997404480181958],
"funcs": [],
"types": [14042997404480181958],
"vars": [{
"L": 15768138241775955040,
"R": -1
@ -31,6 +27,11 @@ OUTPUT:
"L": 3182917058194750998,
"R": -1
}],
"alias_of": 0,
"kind": 3,
"parent_kind": 0,
"declarations": ["1:11-1:13|1:1-7:2|1|-1"],
"derived": [],
"instances": [],
"uses": []
}, {
@ -38,43 +39,43 @@ OUTPUT:
"detailed_name": "class ns::Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "3:9-3:12|11072669167287398027|2|1026|-1",
"extent": "3:3-3:15|11072669167287398027|2|0|-1",
"alias_of": 0,
"spell": "3:9-3:12|3:3-3:15|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 3,
"declarations": [],
"derived": [],
"instances": [15768138241775955040, 3182917058194750998],
"uses": ["5:3-5:6|11072669167287398027|2|4|-1", "6:3-6:6|11072669167287398027|2|4|-1"]
"uses": ["5:3-5:6|4|-1", "6:3-6:6|4|-1"]
}],
"usr2var": [{
"usr": 3182917058194750998,
"detailed_name": "Foo<bool> ns::b",
"qual_name_offset": 10,
"short_name": "b",
"declarations": [],
"spell": "6:13-6:14|11072669167287398027|2|1026|-1",
"extent": "6:3-6:14|11072669167287398027|2|0|-1",
"spell": "6:13-6:14|6:3-6:14|1026|-1",
"type": 14042997404480181958,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15768138241775955040,
"detailed_name": "Foo<int> ns::a",
"qual_name_offset": 9,
"short_name": "a",
"declarations": [],
"spell": "5:12-5:13|11072669167287398027|2|1026|-1",
"extent": "5:3-5:13|11072669167287398027|2|0|-1",
"spell": "5:12-5:13|5:3-5:13|1026|-1",
"type": 14042997404480181958,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 3,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -52,69 +52,73 @@ OUTPUT:
"detailed_name": "template<> void foo<float, 9, Enum0, 14>(float Value)",
"qual_name_offset": 16,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["43:6-43:9|42:1-43:50|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["43:6-43:9|42:1-43:50|1|-1"],
"derived": [],
"uses": []
}, {
"usr": 6113470698424012876,
"detailed_name": "void vector<Z2, allocator<Z2> >::clear()",
"qual_name_offset": 5,
"short_name": "clear",
"kind": 6,
"storage": 0,
"declarations": ["27:8-27:13|27:3-27:15|1663022413889915338|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["27:8-27:13|27:3-27:15|1025|-1"],
"derived": [],
"uses": []
}, {
"usr": 17498190318698490707,
"detailed_name": "void foo(T Value)",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "39:6-39:9|39:1-39:21|2|-1",
"bases": [],
"vars": [17826688417349629938],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "39:6-39:9|0|1|2|-1",
"extent": "39:1-39:21|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [17826688417349629938],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 18107614608385228556,
"detailed_name": "void vector::clear()",
"qual_name_offset": 5,
"short_name": "clear",
"kind": 6,
"storage": 0,
"declarations": ["13:8-13:13|13:3-13:15|7440942986741176606|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["13:8-13:13|13:3-13:15|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [13914496963221806870],
"uses": []
}, {
@ -122,84 +126,84 @@ OUTPUT:
"detailed_name": "template <typename T, typename ...Args> class function<type-parameter-0-0 (type-parameter-0-1...)> {}",
"qual_name_offset": 46,
"short_name": "function",
"kind": 5,
"declarations": [],
"spell": "5:7-5:15|0|1|2|-1",
"extent": "4:1-5:30|0|1|0|-1",
"alias_of": 0,
"spell": "5:7-5:15|4:1-5:30|2|-1",
"bases": [15019211479263750068],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2933643612409209903],
"uses": ["7:1-7:9|0|1|4|-1"]
"uses": ["7:1-7:9|4|-1"]
}, {
"usr": 1663022413889915338,
"detailed_name": "template<> class vector<Z2, allocator<Z2>> {}",
"qual_name_offset": 17,
"short_name": "vector",
"kind": 5,
"declarations": [],
"spell": "26:7-26:13|0|1|2|-1",
"extent": "25:1-28:2|0|1|0|-1",
"alias_of": 0,
"spell": "26:7-26:13|25:1-28:2|2|-1",
"bases": [7440942986741176606],
"derived": [],
"types": [],
"funcs": [6113470698424012876],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [15931696253641284761],
"uses": ["26:7-26:13|0|1|4|-1", "33:1-33:7|0|1|4|-1"]
"uses": ["26:7-26:13|4|-1", "33:1-33:7|4|-1"]
}, {
"usr": 5760043510674081814,
"detailed_name": "struct Z1 {}",
"qual_name_offset": 7,
"short_name": "Z1",
"kind": 23,
"declarations": [],
"spell": "19:8-19:10|0|1|2|-1",
"extent": "19:1-19:13|0|1|0|-1",
"alias_of": 0,
"spell": "19:8-19:10|19:1-19:13|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["21:23-21:25|0|1|4|-1", "32:8-32:10|0|1|4|-1"]
"uses": ["21:23-21:25|4|-1", "32:8-32:10|4|-1"]
}, {
"usr": 7440942986741176606,
"detailed_name": "class vector {}",
"qual_name_offset": 6,
"short_name": "vector",
"kind": 5,
"declarations": [],
"spell": "12:7-12:13|0|1|2|-1",
"extent": "12:1-14:2|0|1|0|-1",
"alias_of": 0,
"spell": "12:7-12:13|12:1-14:2|2|-1",
"bases": [],
"derived": [16155717907537731864, 1663022413889915338],
"types": [],
"funcs": [18107614608385228556],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [16155717907537731864, 1663022413889915338],
"instances": [5792869548777559988],
"uses": ["21:16-21:22|0|1|4|-1", "30:1-30:7|0|1|4|-1", "32:1-32:7|0|1|4|-1"]
"uses": ["17:7-17:13|4|-1", "21:16-21:22|4|-1", "30:1-30:7|4|-1", "32:1-32:7|4|-1"]
}, {
"usr": 9201299975592934124,
"detailed_name": "enum Enum {}",
"qual_name_offset": 5,
"short_name": "Enum",
"kind": 10,
"declarations": [],
"spell": "35:6-35:10|0|1|2|-1",
"extent": "35:1-37:2|0|1|0|-1",
"alias_of": 0,
"spell": "35:6-35:10|35:1-37:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -207,33 +211,33 @@ OUTPUT:
"detailed_name": "struct Z2 {}",
"qual_name_offset": 7,
"short_name": "Z2",
"kind": 23,
"declarations": [],
"spell": "23:8-23:10|0|1|2|-1",
"extent": "23:1-23:13|0|1|0|-1",
"alias_of": 0,
"spell": "23:8-23:10|23:1-23:13|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["26:14-26:16|0|1|4|-1", "33:8-33:10|0|1|4|-1"]
"uses": ["26:14-26:16|4|-1", "33:8-33:10|4|-1"]
}, {
"usr": 14111105212951082474,
"detailed_name": "T",
"qual_name_offset": 0,
"short_name": "T",
"kind": 26,
"declarations": [],
"spell": "38:20-38:21|17498190318698490707|3|2|-1",
"extent": "38:11-38:21|17498190318698490707|3|0|-1",
"alias_of": 0,
"spell": "38:20-38:21|38:11-38:21|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 26,
"parent_kind": 5,
"declarations": [],
"derived": [],
"instances": [17826688417349629938],
"uses": []
}, {
@ -241,29 +245,31 @@ OUTPUT:
"detailed_name": "class function",
"qual_name_offset": 6,
"short_name": "function",
"kind": 5,
"declarations": ["2:7-2:15|2:1-2:15|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [218068462278884837],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": ["2:7-2:15|2:1-2:15|1|-1"],
"derived": [218068462278884837],
"instances": [],
"uses": []
"uses": ["5:7-5:15|4|-1"]
}, {
"usr": 15440970074034693939,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [3566687051827176322],
"uses": []
}, {
@ -271,145 +277,146 @@ OUTPUT:
"detailed_name": "class allocator",
"qual_name_offset": 6,
"short_name": "allocator",
"kind": 5,
"declarations": ["9:28-9:37|9:22-9:37|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": ["9:28-9:37|9:22-9:37|1|-1"],
"derived": [],
"instances": [],
"uses": []
"uses": ["11:39-11:48|4|-1"]
}, {
"usr": 16155717907537731864,
"detailed_name": "template <typename T> class vector<type-parameter-0-0 *, allocator<type-parameter-0-0 *>> {}",
"qual_name_offset": 28,
"short_name": "vector",
"kind": 5,
"declarations": [],
"spell": "17:7-17:13|0|1|2|-1",
"extent": "16:1-17:20|0|1|0|-1",
"alias_of": 0,
"spell": "17:7-17:13|16:1-17:20|2|-1",
"bases": [7440942986741176606],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [86949563628772958],
"uses": ["31:1-31:7|0|1|4|-1"]
"uses": ["31:1-31:7|4|-1"]
}],
"usr2var": [{
"usr": 86949563628772958,
"detailed_name": "vector<int *> vip",
"qual_name_offset": 14,
"short_name": "vip",
"declarations": [],
"spell": "31:14-31:17|0|1|2|-1",
"extent": "31:1-31:17|0|1|0|-1",
"spell": "31:14-31:17|31:1-31:17|2|-1",
"type": 16155717907537731864,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 2933643612409209903,
"detailed_name": "function<void (int)> f",
"qual_name_offset": 21,
"short_name": "f",
"declarations": [],
"spell": "7:21-7:22|0|1|2|-1",
"extent": "7:1-7:22|0|1|0|-1",
"spell": "7:21-7:22|7:1-7:22|2|-1",
"type": 218068462278884837,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 3566687051827176322,
"detailed_name": "vector<Z1> vz1",
"qual_name_offset": 11,
"short_name": "vz1",
"declarations": [],
"spell": "32:12-32:15|0|1|2|-1",
"extent": "32:1-32:15|0|1|0|-1",
"spell": "32:12-32:15|32:1-32:15|2|-1",
"type": 15440970074034693939,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 4917621020431490070,
"detailed_name": "Enum1",
"qual_name_offset": 0,
"short_name": "Enum1",
"hover": "Enum1 = 1",
"declarations": [],
"spell": "36:10-36:15|9201299975592934124|2|1026|-1",
"extent": "36:10-36:15|9201299975592934124|2|0|-1",
"type": 0,
"uses": [],
"spell": "36:10-36:15|36:10-36:15|1026|-1",
"type": 9201299975592934124,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 5792869548777559988,
"detailed_name": "vector<char> vc",
"qual_name_offset": 13,
"short_name": "vc",
"declarations": [],
"spell": "30:14-30:16|0|1|2|-1",
"extent": "30:1-30:16|0|1|0|-1",
"spell": "30:14-30:16|30:1-30:16|2|-1",
"type": 7440942986741176606,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 13914496963221806870,
"detailed_name": "static const int kOnst",
"qual_name_offset": 17,
"short_name": "kOnst",
"hover": "static const int kOnst = 7",
"declarations": [],
"spell": "41:18-41:23|0|1|2|-1",
"extent": "41:1-41:27|0|1|0|-1",
"spell": "41:18-41:23|41:1-41:27|2|-1",
"type": 53,
"uses": ["43:27-43:32|0|1|12|-1"],
"kind": 13,
"storage": 2
"parent_kind": 0,
"storage": 2,
"declarations": [],
"uses": ["43:27-43:32|12|-1"]
}, {
"usr": 15477793821005285152,
"detailed_name": "Enum0",
"qual_name_offset": 0,
"short_name": "Enum0",
"hover": "Enum0 = 0",
"declarations": [],
"spell": "36:3-36:8|9201299975592934124|2|1026|-1",
"extent": "36:3-36:8|9201299975592934124|2|0|-1",
"type": 0,
"uses": ["43:20-43:25|0|1|4|-1"],
"spell": "36:3-36:8|36:3-36:8|1026|-1",
"type": 9201299975592934124,
"kind": 22,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": ["43:20-43:25|4|-1"]
}, {
"usr": 15931696253641284761,
"detailed_name": "vector<Z2> vz2",
"qual_name_offset": 11,
"short_name": "vz2",
"declarations": [],
"spell": "33:12-33:15|0|1|2|-1",
"extent": "33:1-33:15|0|1|0|-1",
"spell": "33:12-33:15|33:1-33:15|2|-1",
"type": 1663022413889915338,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 17826688417349629938,
"detailed_name": "T Value",
"qual_name_offset": 2,
"short_name": "Value",
"declarations": [],
"spell": "39:12-39:17|17498190318698490707|3|1026|-1",
"extent": "39:10-39:17|17498190318698490707|3|0|-1",
"spell": "39:12-39:17|39:10-39:17|1026|-1",
"type": 14111105212951082474,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -27,62 +27,63 @@ OUTPUT:
"detailed_name": "void Template<void>::Foo()",
"qual_name_offset": 5,
"short_name": "Foo",
"spell": "10:22-10:25|9:1-10:30|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"spell": "10:22-10:25|17649312483543982122|2|1026|-1",
"extent": "9:1-10:30|17649312483543982122|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 11994188353303124840,
"detailed_name": "void Template::Foo()",
"qual_name_offset": 5,
"short_name": "Foo",
"kind": 6,
"storage": 0,
"declarations": ["3:8-3:11|3:3-3:13|17107291254533526269|2|1025|-1"],
"spell": "7:19-7:22|17107291254533526269|2|1026|-1",
"extent": "6:1-7:24|17107291254533526269|2|0|-1",
"spell": "7:19-7:22|6:1-7:24|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": ["3:8-3:11|3:3-3:13|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 17107291254533526269,
"detailed_name": "class Template {}",
"qual_name_offset": 6,
"short_name": "Template",
"kind": 5,
"declarations": [],
"spell": "2:7-2:15|0|1|2|-1",
"extent": "2:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:15|2:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [11994188353303124840],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["7:6-7:14|0|1|4|-1", "10:6-10:14|0|1|4|-1"]
"uses": ["7:6-7:14|4|-1", "10:6-10:14|4|-1"]
}, {
"usr": 17649312483543982122,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [6995843774014807426],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],

View File

@ -18,30 +18,31 @@ OUTPUT:
"detailed_name": "static int Foo::foo()",
"qual_name_offset": 11,
"short_name": "foo",
"spell": "3:14-3:17|3:3-5:4|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 254,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "3:14-3:17|10528472276654770367|2|1026|-1",
"extent": "3:3-5:4|10528472276654770367|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["8:19-8:22|0|1|36|-1", "9:20-9:23|0|1|36|-1"],
"callees": []
"uses": ["8:19-8:22|36|-1", "9:20-9:23|36|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [16721564935990383768, 12028309045033782423],
"uses": []
}, {
@ -49,18 +50,18 @@ OUTPUT:
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "2:8-2:11|0|1|2|-1",
"extent": "2:1-6:2|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:11|2:1-6:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [8340731781048851399],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["8:9-8:12|0|1|4|-1", "9:9-9:12|0|1|4|-1"]
"uses": ["8:9-8:12|4|-1", "9:9-9:12|4|-1"]
}],
"usr2var": [{
"usr": 12028309045033782423,
@ -68,26 +69,26 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "b",
"hover": "int b = Foo<bool>::foo()",
"declarations": [],
"spell": "9:5-9:6|0|1|2|-1",
"extent": "9:1-9:25|0|1|0|-1",
"spell": "9:5-9:6|9:1-9:25|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "int a",
"qual_name_offset": 4,
"short_name": "a",
"hover": "int a = Foo<int>::foo()",
"declarations": [],
"spell": "8:5-8:6|0|1|2|-1",
"extent": "8:1-8:24|0|1|0|-1",
"spell": "8:5-8:6|8:1-8:24|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -19,30 +19,31 @@ OUTPUT:
"detailed_name": "static int Foo::foo()",
"qual_name_offset": 11,
"short_name": "foo",
"spell": "4:14-4:17|4:3-6:4|1026|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 254,
"parent_kind": 23,
"storage": 0,
"declarations": [],
"spell": "4:14-4:17|10528472276654770367|2|1026|-1",
"extent": "4:3-6:4|10528472276654770367|2|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["9:19-9:22|0|1|36|-1", "10:20-10:23|0|1|36|-1"],
"callees": []
"uses": ["9:19-9:22|36|-1", "10:20-10:23|36|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [16721564935990383768, 12028309045033782423],
"uses": []
}, {
@ -50,18 +51,18 @@ OUTPUT:
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "2:8-2:11|0|1|2|-1",
"extent": "2:1-7:2|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:11|2:1-7:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [9034026360701857235],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["9:9-9:12|0|1|4|-1", "10:9-10:12|0|1|4|-1"]
"uses": ["9:9-9:12|4|-1", "10:9-10:12|4|-1"]
}],
"usr2var": [{
"usr": 12028309045033782423,
@ -69,26 +70,26 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "b",
"hover": "int b = Foo<bool>::foo<double>()",
"declarations": [],
"spell": "10:5-10:6|0|1|2|-1",
"extent": "10:1-10:33|0|1|0|-1",
"spell": "10:5-10:6|10:1-10:33|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "int a",
"qual_name_offset": 4,
"short_name": "a",
"hover": "int a = Foo<int>::foo<float>()",
"declarations": [],
"spell": "9:5-9:6|0|1|2|-1",
"extent": "9:1-9:31|0|1|0|-1",
"spell": "9:5-9:6|9:1-9:31|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -38,94 +38,94 @@ OUTPUT:
"detailed_name": "enum A {}",
"qual_name_offset": 5,
"short_name": "A",
"kind": 10,
"declarations": [],
"spell": "1:6-1:7|0|1|2|-1",
"extent": "1:1-1:10|0|1|0|-1",
"alias_of": 0,
"spell": "1:6-1:7|1:1-1:10|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["9:5-9:6|0|1|4|-1"]
"uses": ["9:5-9:6|4|-1"]
}, {
"usr": 10528472276654770367,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "5:8-5:11|0|1|2|-1",
"extent": "5:1-7:2|0|1|0|-1",
"alias_of": 0,
"spell": "5:8-5:11|5:1-7:2|2|-1",
"bases": [],
"derived": [],
"types": [13938528237873543349],
"funcs": [],
"types": [13938528237873543349],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["9:1-9:4|0|1|4|-1", "10:1-10:4|0|1|4|-1"]
"uses": ["9:1-9:4|4|-1", "10:1-10:4|4|-1"]
}, {
"usr": 13892793056005362145,
"detailed_name": "enum B {}",
"qual_name_offset": 5,
"short_name": "B",
"kind": 10,
"declarations": [],
"spell": "2:6-2:7|0|1|2|-1",
"extent": "2:1-2:10|0|1|0|-1",
"alias_of": 0,
"spell": "2:6-2:7|2:1-2:10|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["10:5-10:6|0|1|4|-1"]
"uses": ["10:5-10:6|4|-1"]
}, {
"usr": 13938528237873543349,
"detailed_name": "struct Foo::Inner {}",
"qual_name_offset": 7,
"short_name": "Inner",
"kind": 23,
"declarations": [],
"spell": "6:10-6:15|10528472276654770367|2|1026|-1",
"extent": "6:3-6:18|10528472276654770367|2|0|-1",
"alias_of": 0,
"spell": "6:10-6:15|6:3-6:18|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 23,
"declarations": [],
"derived": [],
"instances": [16721564935990383768, 12028309045033782423],
"uses": ["9:9-9:14|0|1|4|-1", "10:9-10:14|0|1|4|-1"]
"uses": ["9:9-9:14|4|-1", "10:9-10:14|4|-1"]
}],
"usr2var": [{
"usr": 12028309045033782423,
"detailed_name": "Foo<B>::Inner b",
"qual_name_offset": 14,
"short_name": "b",
"declarations": [],
"spell": "10:15-10:16|0|1|2|-1",
"extent": "10:1-10:16|0|1|0|-1",
"spell": "10:15-10:16|10:1-10:16|2|-1",
"type": 13938528237873543349,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "Foo<A>::Inner a",
"qual_name_offset": 14,
"short_name": "a",
"declarations": [],
"spell": "9:15-9:16|0|1|2|-1",
"extent": "9:1-9:16|0|1|0|-1",
"spell": "9:15-9:16|9:1-9:16|2|-1",
"type": 13938528237873543349,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -17,14 +17,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [13545144895171991916, 16721564935990383768, 12028309045033782423],
"uses": []
}, {
@ -32,18 +33,18 @@ OUTPUT:
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "2:8-2:11|0|1|2|-1",
"extent": "2:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:11|2:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["6:9-6:12|0|1|4|-1", "7:9-7:12|0|1|4|-1"]
"uses": ["6:9-6:12|4|-1", "7:9-7:12|4|-1"]
}],
"usr2var": [{
"usr": 12028309045033782423,
@ -51,37 +52,38 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "b",
"hover": "int b = Foo<bool>::var",
"declarations": [],
"spell": "7:5-7:6|0|1|2|-1",
"extent": "7:1-7:23|0|1|0|-1",
"spell": "7:5-7:6|7:1-7:23|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 13545144895171991916,
"detailed_name": "static constexpr int Foo::var",
"qual_name_offset": 21,
"short_name": "var",
"hover": "static constexpr int Foo::var = 3",
"declarations": ["3:24-3:27|3:3-3:31|10528472276654770367|2|1025|-1"],
"type": 53,
"uses": ["6:19-6:22|0|1|12|-1", "7:20-7:23|0|1|12|-1"],
"kind": 13,
"storage": 2
"parent_kind": 23,
"storage": 2,
"declarations": ["3:24-3:27|3:3-3:31|1025|-1"],
"uses": ["6:19-6:22|12|-1", "7:20-7:23|12|-1"]
}, {
"usr": 16721564935990383768,
"detailed_name": "int a",
"qual_name_offset": 4,
"short_name": "a",
"hover": "int a = Foo<int>::var",
"declarations": [],
"spell": "6:5-6:6|0|1|2|-1",
"extent": "6:1-6:22|0|1|0|-1",
"spell": "6:5-6:6|6:1-6:22|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -19,30 +19,31 @@ OUTPUT:
"detailed_name": "static int foo()",
"qual_name_offset": 11,
"short_name": "foo",
"spell": "2:12-2:15|2:1-4:2|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "2:12-2:15|0|1|2|-1",
"extent": "2:1-4:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["6:9-6:12|0|1|36|-1", "7:9-7:12|0|1|36|-1"],
"callees": []
"uses": ["6:9-6:12|36|-1", "7:9-7:12|36|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [16721564935990383768, 12028309045033782423],
"uses": []
}],
@ -52,26 +53,26 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "b",
"hover": "int b = foo<bool>()",
"declarations": [],
"spell": "7:5-7:6|0|1|2|-1",
"extent": "7:1-7:20|0|1|0|-1",
"spell": "7:5-7:6|7:1-7:20|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "int a",
"qual_name_offset": 4,
"short_name": "a",
"hover": "int a = foo<int>()",
"declarations": [],
"spell": "6:5-6:6|0|1|2|-1",
"extent": "6:1-6:19|0|1|0|-1",
"spell": "6:5-6:6|6:1-6:19|2|-1",
"type": 53,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -15,43 +15,43 @@ OUTPUT:
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "2:7-2:10|0|1|2|-1",
"extent": "2:1-2:13|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:10|2:1-2:13|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [16721564935990383768, 12028309045033782423],
"uses": ["4:1-4:4|0|1|4|-1", "5:1-5:4|0|1|4|-1"]
"uses": ["4:1-4:4|4|-1", "5:1-5:4|4|-1"]
}],
"usr2var": [{
"usr": 12028309045033782423,
"detailed_name": "Foo<bool> b",
"qual_name_offset": 10,
"short_name": "b",
"declarations": [],
"spell": "5:11-5:12|0|1|2|-1",
"extent": "5:1-5:12|0|1|0|-1",
"spell": "5:11-5:12|5:1-5:12|2|-1",
"type": 10528472276654770367,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "Foo<int> a",
"qual_name_offset": 9,
"short_name": "a",
"declarations": [],
"spell": "4:10-4:11|0|1|2|-1",
"extent": "4:1-4:11|0|1|0|-1",
"spell": "4:10-4:11|4:1-4:11|2|-1",
"type": 10528472276654770367,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -41,33 +41,33 @@ OUTPUT:
"detailed_name": "enum A {}",
"qual_name_offset": 5,
"short_name": "A",
"kind": 10,
"declarations": [],
"spell": "1:6-1:7|0|1|2|-1",
"extent": "1:1-1:10|0|1|0|-1",
"alias_of": 0,
"spell": "1:6-1:7|1:1-1:10|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [16721564935990383768],
"uses": ["7:1-7:2|0|1|4|-1", "7:11-7:12|0|1|4|-1"]
"uses": ["7:1-7:2|4|-1", "7:11-7:12|4|-1"]
}, {
"usr": 11919899838872947844,
"detailed_name": "T",
"qual_name_offset": 0,
"short_name": "T",
"kind": 26,
"declarations": [],
"spell": "4:19-4:20|0|1|2|-1",
"extent": "4:10-4:20|0|1|0|-1",
"alias_of": 0,
"spell": "4:19-4:20|4:10-4:20|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 26,
"parent_kind": 5,
"declarations": [],
"derived": [],
"instances": [8096973118640070624],
"uses": []
}, {
@ -75,18 +75,18 @@ OUTPUT:
"detailed_name": "enum B {}",
"qual_name_offset": 5,
"short_name": "B",
"kind": 10,
"declarations": [],
"spell": "2:6-2:7|0|1|2|-1",
"extent": "2:1-2:10|0|1|0|-1",
"alias_of": 0,
"spell": "2:6-2:7|2:1-2:10|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 10,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [12028309045033782423],
"uses": ["8:1-8:2|0|1|4|-1", "8:11-8:12|0|1|4|-1"]
"uses": ["8:1-8:2|4|-1", "8:11-8:12|4|-1"]
}],
"usr2var": [{
"usr": 8096973118640070624,
@ -94,39 +94,39 @@ OUTPUT:
"qual_name_offset": 2,
"short_name": "var",
"hover": "T var = T()",
"declarations": [],
"spell": "5:3-5:6|0|1|2|-1",
"extent": "5:1-5:12|0|1|0|-1",
"spell": "5:3-5:6|5:1-5:12|2|-1",
"type": 11919899838872947844,
"uses": ["7:7-7:10|0|1|12|-1", "8:7-8:10|0|1|12|-1"],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": ["7:7-7:10|12|-1", "8:7-8:10|12|-1"]
}, {
"usr": 12028309045033782423,
"detailed_name": "B b",
"qual_name_offset": 2,
"short_name": "b",
"hover": "B b = var<B>",
"declarations": [],
"spell": "8:3-8:4|0|1|2|-1",
"extent": "8:1-8:13|0|1|0|-1",
"spell": "8:3-8:4|8:1-8:13|2|-1",
"type": 13892793056005362145,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16721564935990383768,
"detailed_name": "A a",
"qual_name_offset": 2,
"short_name": "a",
"hover": "A a = var<A>",
"declarations": [],
"spell": "7:3-7:4|0|1|2|-1",
"extent": "7:1-7:13|0|1|0|-1",
"spell": "7:3-7:4|7:1-7:13|2|-1",
"type": 6697181287623958829,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -14,14 +14,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [3348817847649945564, 4821094820988543895, 15292551660437765731],
"uses": []
}, {
@ -29,15 +30,10 @@ OUTPUT:
"detailed_name": "anon struct",
"qual_name_offset": 0,
"short_name": "anon struct",
"kind": 23,
"declarations": [],
"spell": "2:3-2:9|17937907487590875128|2|1026|-1",
"extent": "2:3-2:28|17937907487590875128|2|0|-1",
"alias_of": 0,
"spell": "2:3-2:9|2:3-2:28|1026|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 3348817847649945564,
"R": 0
@ -48,6 +44,11 @@ OUTPUT:
"L": 15292551660437765731,
"R": 64
}],
"alias_of": 0,
"kind": 23,
"parent_kind": 5,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}, {
@ -55,15 +56,10 @@ OUTPUT:
"detailed_name": "union vector3 {}",
"qual_name_offset": 6,
"short_name": "vector3",
"kind": 5,
"declarations": [],
"spell": "1:7-1:14|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:14|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [1428566502523368801],
"funcs": [],
"types": [1428566502523368801],
"vars": [{
"L": 1963212417280098348,
"R": 0
@ -77,6 +73,11 @@ OUTPUT:
"L": 15292551660437765731,
"R": 64
}],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -85,49 +86,49 @@ OUTPUT:
"detailed_name": "float vector3::v[3]",
"qual_name_offset": 6,
"short_name": "v",
"declarations": [],
"spell": "3:9-3:10|17937907487590875128|2|1026|-1",
"extent": "3:3-3:13|17937907487590875128|2|0|-1",
"spell": "3:9-3:10|3:3-3:13|1026|-1",
"type": 0,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 3348817847649945564,
"detailed_name": "float vector3::(anon struct)::x",
"qual_name_offset": 6,
"short_name": "x",
"declarations": [],
"spell": "2:18-2:19|1428566502523368801|2|1026|-1",
"extent": "2:12-2:19|1428566502523368801|2|0|-1",
"spell": "2:18-2:19|2:12-2:19|1026|-1",
"type": 82,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 23,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 4821094820988543895,
"detailed_name": "float vector3::(anon struct)::y",
"qual_name_offset": 6,
"short_name": "y",
"declarations": [],
"spell": "2:21-2:22|1428566502523368801|2|1026|-1",
"extent": "2:12-2:22|1428566502523368801|2|0|-1",
"spell": "2:21-2:22|2:12-2:22|1026|-1",
"type": 82,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 23,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 15292551660437765731,
"detailed_name": "float vector3::(anon struct)::z",
"qual_name_offset": 6,
"short_name": "z",
"declarations": [],
"spell": "2:24-2:25|1428566502523368801|2|1026|-1",
"extent": "2:12-2:25|1428566502523368801|2|0|-1",
"spell": "2:24-2:25|2:12-2:25|1026|-1",
"type": 82,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 23,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -11,32 +11,33 @@ OUTPUT:
"detailed_name": "static int g(const int *, const int *)",
"qual_name_offset": 11,
"short_name": "g",
"kind": 12,
"storage": 0,
"declarations": ["2:13-2:14|2:1-2:14|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:13-2:14|2:1-2:14|1|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 10383876566159302459,
"detailed_name": "typedef int (func)(const int *, const int *)",
"qual_name_offset": 12,
"short_name": "func",
"kind": 252,
"declarations": [],
"spell": "1:14-1:18|0|1|2|-1",
"extent": "1:1-1:47|0|1|0|-1",
"alias_of": 0,
"spell": "1:14-1:18|1:1-1:47|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 252,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["2:8-2:12|0|1|4|-1"]
"uses": ["2:8-2:12|4|-1"]
}],
"usr2var": []
}

View File

@ -14,14 +14,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [8804696910588009104],
"uses": []
}, {
@ -29,14 +30,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [9529311430721959843],
"uses": []
}, {
@ -44,15 +46,10 @@ OUTPUT:
"detailed_name": "union Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 9529311430721959843,
"R": 0
@ -60,6 +57,11 @@ OUTPUT:
"L": 8804696910588009104,
"R": 0
}],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -68,25 +70,25 @@ OUTPUT:
"detailed_name": "bool Foo::b",
"qual_name_offset": 5,
"short_name": "b",
"declarations": [],
"spell": "3:8-3:9|8501689086387244262|2|1026|-1",
"extent": "3:3-3:9|8501689086387244262|2|0|-1",
"spell": "3:8-3:9|3:3-3:9|1026|-1",
"type": 37,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 9529311430721959843,
"detailed_name": "int Foo::a",
"qual_name_offset": 4,
"short_name": "a",
"declarations": [],
"spell": "2:7-2:8|8501689086387244262|2|1026|-1",
"extent": "2:3-2:8|8501689086387244262|2|0|-1",
"spell": "2:7-2:8|2:3-2:8|1026|-1",
"type": 53,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -21,30 +21,31 @@ OUTPUT:
"detailed_name": "void act(Foo *)",
"qual_name_offset": 5,
"short_name": "act",
"spell": "8:6-8:9|8:1-10:2|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "8:6-8:9|0|1|2|-1",
"extent": "8:1-10:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 37,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [8804696910588009104],
"uses": []
}, {
@ -52,14 +53,15 @@ OUTPUT:
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [9529311430721959843],
"uses": []
}, {
@ -67,15 +69,10 @@ OUTPUT:
"detailed_name": "union Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "1:7-1:10|0|1|2|-1",
"extent": "1:1-4:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:7-1:10|1:1-4:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 9529311430721959843,
"R": 0
@ -83,45 +80,50 @@ OUTPUT:
"L": 8804696910588009104,
"R": 0
}],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2933643612409209903],
"uses": ["6:1-6:4|0|1|4|-1", "8:10-8:13|0|1|4|-1"]
"uses": ["6:1-6:4|4|-1", "8:10-8:13|4|-1"]
}],
"usr2var": [{
"usr": 2933643612409209903,
"detailed_name": "Foo f",
"qual_name_offset": 4,
"short_name": "f",
"declarations": [],
"spell": "6:5-6:6|0|1|2|-1",
"extent": "6:1-6:6|0|1|0|-1",
"spell": "6:5-6:6|6:1-6:6|2|-1",
"type": 8501689086387244262,
"uses": ["9:3-9:4|13982179977217945200|3|4|-1"],
"kind": 13,
"storage": 0
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": ["9:3-9:4|4|-1"]
}, {
"usr": 8804696910588009104,
"detailed_name": "bool Foo::b : 3",
"qual_name_offset": 5,
"short_name": "b",
"declarations": [],
"spell": "3:8-3:9|8501689086387244262|2|1026|-1",
"extent": "3:3-3:13|8501689086387244262|2|0|-1",
"spell": "3:8-3:9|3:3-3:13|1026|-1",
"type": 37,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 9529311430721959843,
"detailed_name": "int Foo::a : 5",
"qual_name_offset": 4,
"short_name": "a",
"declarations": [],
"spell": "2:7-2:8|8501689086387244262|2|1026|-1",
"extent": "2:3-2:12|8501689086387244262|2|0|-1",
"spell": "2:7-2:8|2:3-2:12|1026|-1",
"type": 53,
"uses": ["9:5-9:6|13982179977217945200|3|20|-1"],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": ["9:5-9:6|20|-1"]
}]
}
*/

View File

@ -18,49 +18,49 @@ OUTPUT:
"detailed_name": "void called()",
"qual_name_offset": 5,
"short_name": "called",
"spell": "1:6-1:12|1:1-1:17|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "1:6-1:12|0|1|2|-1",
"extent": "1:1-1:17|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["8:3-8:9|3385168158331140247|3|16420|-1"],
"callees": []
"uses": ["8:3-8:9|16420|-1"]
}, {
"usr": 3385168158331140247,
"detailed_name": "Foo::Foo()",
"qual_name_offset": 0,
"short_name": "Foo",
"kind": 9,
"storage": 0,
"declarations": ["4:3-4:6|4:3-4:8|15041163540773201510|2|1025|-1"],
"spell": "7:6-7:9|15041163540773201510|2|1026|-1",
"extent": "7:1-9:2|15041163540773201510|2|0|-1",
"spell": "7:6-7:9|7:1-9:2|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["8:3-8:9|468307235068920063|3|16420"]
"callees": ["8:3-8:9|468307235068920063|3|16420"],
"kind": 9,
"parent_kind": 23,
"storage": 0,
"declarations": ["4:3-4:6|4:3-4:8|1025|-1"],
"derived": [],
"uses": []
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "3:8-3:11|0|1|2|-1",
"extent": "3:1-5:2|0|1|0|-1",
"alias_of": 0,
"spell": "3:8-3:11|3:1-5:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [3385168158331140247],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["4:3-4:6|15041163540773201510|2|4|-1", "7:1-7:4|0|1|4|-1", "7:6-7:9|15041163540773201510|2|4|-1"]
"uses": ["4:3-4:6|4|-1", "7:1-7:4|4|-1", "7:6-7:9|4|-1"]
}],
"usr2var": []
}

View File

@ -16,29 +16,30 @@ OUTPUT:
"detailed_name": "bool called(bool a, bool b)",
"qual_name_offset": 5,
"short_name": "called",
"kind": 12,
"storage": 0,
"declarations": ["3:6-3:12|3:1-3:28|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["6:14-6:20|11404881820527069090|3|16420|-1", "6:14-6:20|0|1|64|0"],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["3:6-3:12|3:1-3:28|1|-1"],
"derived": [],
"uses": ["6:14-6:20|16420|-1", "6:14-6:20|64|0"]
}, {
"usr": 11404881820527069090,
"detailed_name": "void caller()",
"qual_name_offset": 5,
"short_name": "caller",
"spell": "5:6-5:12|5:1-7:2|2|-1",
"bases": [],
"vars": [],
"callees": ["6:14-6:20|3787803219955606747|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:6-5:12|0|1|2|-1",
"extent": "5:1-7:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["6:14-6:20|3787803219955606747|3|16420"]
"uses": []
}],
"usr2type": [],
"usr2var": [{
@ -47,13 +48,13 @@ OUTPUT:
"qual_name_offset": 0,
"short_name": "MACRO_CALL",
"hover": "#define MACRO_CALL(e) e",
"declarations": [],
"spell": "1:9-1:19|0|1|2|-1",
"extent": "1:9-1:24|0|1|0|-1",
"spell": "1:9-1:19|1:9-1:24|2|-1",
"type": 0,
"uses": ["6:3-6:13|0|1|64|-1"],
"kind": 255,
"storage": 0
"parent_kind": 1,
"storage": 0,
"declarations": [],
"uses": ["6:3-6:13|64|-1"]
}]
}
*/

View File

@ -21,57 +21,59 @@ OUTPUT:
"detailed_name": "void called()",
"qual_name_offset": 5,
"short_name": "called",
"kind": 12,
"storage": 0,
"declarations": ["1:6-1:12|1:1-1:14|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["5:3-5:9|10177235824697315808|3|16420|-1"],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["1:6-1:12|1:1-1:14|1|-1"],
"derived": [],
"uses": ["5:3-5:9|16420|-1"]
}, {
"usr": 2459767597003442547,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"bases": [],
"vars": [],
"callees": ["5:3-5:9|468307235068920063|3|16420"],
"kind": 0,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["5:3-5:9|468307235068920063|3|16420"]
"uses": []
}, {
"usr": 4259594751088586730,
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "8:6-8:9|8:1-10:2|2|-1",
"bases": [],
"vars": [],
"callees": ["9:3-9:9|10177235824697315808|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "8:6-8:9|0|1|2|-1",
"extent": "8:1-10:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["9:3-9:9|10177235824697315808|3|16420"]
"uses": []
}, {
"usr": 10177235824697315808,
"detailed_name": "void caller()",
"qual_name_offset": 5,
"short_name": "caller",
"spell": "4:6-4:12|4:1-6:2|2|-1",
"bases": [],
"vars": [],
"callees": ["5:3-5:9|468307235068920063|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "4:6-4:12|0|1|2|-1",
"extent": "4:1-6:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["9:3-9:9|4259594751088586730|3|16420|-1"],
"callees": ["5:3-5:9|468307235068920063|3|16420"]
"uses": ["9:3-9:9|16420|-1"]
}],
"usr2type": [],
"usr2var": []

View File

@ -18,62 +18,63 @@ OUTPUT:
"detailed_name": "int called()",
"qual_name_offset": 4,
"short_name": "called",
"spell": "5:5-5:11|5:1-5:27|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:5-5:11|0|1|2|-1",
"extent": "5:1-5:27|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["8:10-8:16|11404881820527069090|3|16420|-1"],
"callees": []
"uses": ["8:10-8:16|16420|-1"]
}, {
"usr": 10544127002917214589,
"detailed_name": "Wrapper::Wrapper(int i)",
"qual_name_offset": 0,
"short_name": "Wrapper",
"kind": 9,
"storage": 0,
"declarations": ["2:3-2:10|2:3-2:17|13611487872560323389|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["8:10-8:16|11404881820527069090|3|16676|-1"],
"callees": []
"callees": [],
"kind": 9,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:3-2:10|2:3-2:17|1025|-1"],
"derived": [],
"uses": ["8:10-8:16|16676|-1"]
}, {
"usr": 11404881820527069090,
"detailed_name": "Wrapper caller()",
"qual_name_offset": 8,
"short_name": "caller",
"spell": "7:9-7:15|7:1-9:2|2|-1",
"bases": [],
"vars": [],
"callees": ["8:10-8:16|10544127002917214589|3|16676", "8:10-8:16|468307235068920063|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "7:9-7:15|0|1|2|-1",
"extent": "7:1-9:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["8:10-8:16|10544127002917214589|3|16676", "8:10-8:16|468307235068920063|3|16420"]
"uses": []
}],
"usr2type": [{
"usr": 13611487872560323389,
"detailed_name": "struct Wrapper {}",
"qual_name_offset": 7,
"short_name": "Wrapper",
"kind": 23,
"declarations": [],
"spell": "1:8-1:15|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:15|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [10544127002917214589],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["2:3-2:10|13611487872560323389|2|4|-1", "7:1-7:8|0|1|4|-1"]
"uses": ["2:3-2:10|4|-1", "7:1-7:8|4|-1"]
}],
"usr2var": []
}

View File

@ -17,46 +17,46 @@ OUTPUT:
"detailed_name": "void used()",
"qual_name_offset": 5,
"short_name": "used",
"spell": "3:6-3:10|3:1-3:15|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "3:6-3:10|0|1|2|-1",
"extent": "3:1-3:15|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["6:18-6:22|9376923949268137283|3|132|-1", "7:12-7:16|9376923949268137283|3|132|-1"],
"callees": []
"uses": ["6:18-6:22|132|-1", "7:12-7:16|132|-1"]
}, {
"usr": 9376923949268137283,
"detailed_name": "void user()",
"qual_name_offset": 5,
"short_name": "user",
"spell": "5:6-5:10|5:1-8:2|2|-1",
"bases": [],
"vars": [16088407831770615719],
"callees": ["6:18-6:22|5264867802674151787|3|132", "6:18-6:22|5264867802674151787|3|132", "7:3-7:10|12924914488846929470|3|16420", "7:12-7:16|5264867802674151787|3|132"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:6-5:10|0|1|2|-1",
"extent": "5:1-8:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [16088407831770615719],
"uses": [],
"callees": ["6:18-6:22|5264867802674151787|3|132", "6:18-6:22|5264867802674151787|3|132", "7:3-7:10|12924914488846929470|3|16420", "7:12-7:16|5264867802674151787|3|132"]
"uses": []
}, {
"usr": 12924914488846929470,
"detailed_name": "void consume(void (*)())",
"qual_name_offset": 5,
"short_name": "consume",
"spell": "1:6-1:13|1:1-1:28|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "1:6-1:13|0|1|2|-1",
"extent": "1:1-1:28|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["7:3-7:10|9376923949268137283|3|16420|-1"],
"callees": []
"uses": ["7:3-7:10|16420|-1"]
}],
"usr2type": [],
"usr2var": [{
@ -65,13 +65,13 @@ OUTPUT:
"qual_name_offset": 7,
"short_name": "x",
"hover": "void (*x)() = &used",
"declarations": [],
"spell": "6:10-6:11|9376923949268137283|3|2|-1",
"extent": "6:3-6:22|9376923949268137283|3|0|-1",
"spell": "6:10-6:11|6:3-6:22|2|-1",
"type": 0,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -17,47 +17,48 @@ OUTPUT:
"detailed_name": "void user()",
"qual_name_offset": 5,
"short_name": "user",
"spell": "5:6-5:10|5:1-7:2|2|-1",
"bases": [],
"vars": [4636142131003982569],
"callees": ["6:18-6:22|18417145003926999463|3|132", "6:18-6:22|18417145003926999463|3|132"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:6-5:10|0|1|2|-1",
"extent": "5:1-7:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [4636142131003982569],
"uses": [],
"callees": ["6:18-6:22|18417145003926999463|3|132", "6:18-6:22|18417145003926999463|3|132"]
"uses": []
}, {
"usr": 18417145003926999463,
"detailed_name": "void Foo::Used()",
"qual_name_offset": 5,
"short_name": "Used",
"kind": 6,
"storage": 0,
"declarations": ["2:8-2:12|2:3-2:14|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["6:18-6:22|9376923949268137283|3|132|-1"],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:8-2:12|2:3-2:14|1025|-1"],
"derived": [],
"uses": ["6:18-6:22|132|-1"]
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "1:8-1:11|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:11|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [18417145003926999463],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["6:13-6:16|9376923949268137283|3|4|-1"]
"uses": ["6:13-6:16|4|-1"]
}],
"usr2var": [{
"usr": 4636142131003982569,
@ -65,13 +66,13 @@ OUTPUT:
"qual_name_offset": 16,
"short_name": "x",
"hover": "void (Foo::*)() x = &Foo::Used",
"declarations": [],
"spell": "6:8-6:9|9376923949268137283|3|2|-1",
"extent": "6:3-6:22|9376923949268137283|3|0|-1",
"spell": "6:8-6:9|6:3-6:22|2|-1",
"type": 0,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -13,31 +13,31 @@ OUTPUT:
"detailed_name": "void called()",
"qual_name_offset": 5,
"short_name": "called",
"spell": "1:6-1:12|1:1-1:17|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "1:6-1:12|0|1|2|-1",
"extent": "1:1-1:17|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["3:3-3:9|11404881820527069090|3|16420|-1"],
"callees": []
"uses": ["3:3-3:9|16420|-1"]
}, {
"usr": 11404881820527069090,
"detailed_name": "void caller()",
"qual_name_offset": 5,
"short_name": "caller",
"spell": "2:6-2:12|2:1-4:2|2|-1",
"bases": [],
"vars": [],
"callees": ["3:3-3:9|468307235068920063|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "2:6-2:12|0|1|2|-1",
"extent": "2:1-4:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["3:3-3:9|468307235068920063|3|16420"]
"uses": []
}],
"usr2type": [],
"usr2var": []

View File

@ -17,47 +17,48 @@ OUTPUT:
"detailed_name": "void user()",
"qual_name_offset": 5,
"short_name": "user",
"spell": "5:6-5:10|5:1-8:2|2|-1",
"bases": [],
"vars": [14045150712868309451],
"callees": ["7:6-7:10|18417145003926999463|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:6-5:10|0|1|2|-1",
"extent": "5:1-8:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [14045150712868309451],
"uses": [],
"callees": ["7:6-7:10|18417145003926999463|3|16420"]
"uses": []
}, {
"usr": 18417145003926999463,
"detailed_name": "void Foo::Used()",
"qual_name_offset": 5,
"short_name": "Used",
"kind": 6,
"storage": 0,
"declarations": ["2:8-2:12|2:3-2:14|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["7:6-7:10|9376923949268137283|3|16420|-1"],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:8-2:12|2:3-2:14|1025|-1"],
"derived": [],
"uses": ["7:6-7:10|16420|-1"]
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "1:8-1:11|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:11|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [18417145003926999463],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [14045150712868309451],
"uses": ["6:3-6:6|9376923949268137283|3|4|-1"]
"uses": ["6:3-6:6|4|-1"]
}],
"usr2var": [{
"usr": 14045150712868309451,
@ -65,13 +66,13 @@ OUTPUT:
"qual_name_offset": 5,
"short_name": "f",
"hover": "Foo *f = nullptr",
"declarations": [],
"spell": "6:8-6:9|9376923949268137283|3|2|-1",
"extent": "6:3-6:19|9376923949268137283|3|0|-1",
"spell": "6:8-6:9|6:3-6:19|2|-1",
"type": 15041163540773201510,
"uses": ["7:3-7:4|9376923949268137283|3|12|-1"],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": ["7:3-7:4|12|-1"]
}]
}
*/

View File

@ -16,30 +16,31 @@ OUTPUT:
"detailed_name": "static int helper()",
"qual_name_offset": 11,
"short_name": "helper",
"spell": "1:12-1:18|1:1-3:2|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "1:12-1:18|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": ["6:11-6:17|15041163540773201510|2|36|-1"],
"callees": []
"uses": ["6:11-6:17|36|-1"]
}],
"usr2type": [{
"usr": 53,
"detailed_name": "",
"qual_name_offset": 0,
"short_name": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [4220150017963593039],
"uses": []
}, {
@ -47,19 +48,19 @@ OUTPUT:
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "5:7-5:10|0|1|2|-1",
"extent": "5:1-7:2|0|1|0|-1",
"alias_of": 0,
"spell": "5:7-5:10|5:1-7:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 4220150017963593039,
"R": 0
}],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -69,13 +70,13 @@ OUTPUT:
"qual_name_offset": 4,
"short_name": "x",
"hover": "int Foo::x = helper()",
"declarations": [],
"spell": "6:7-6:8|15041163540773201510|2|1026|-1",
"extent": "6:3-6:19|15041163540773201510|2|0|-1",
"spell": "6:7-6:8|6:3-6:19|1026|-1",
"type": 53,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -13,29 +13,30 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 12,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:11|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["4:3-4:6|6767773193109753523|3|16420|-1"],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["1:6-1:9|1:1-1:11|1|-1"],
"derived": [],
"uses": ["4:3-4:6|16420|-1"]
}, {
"usr": 6767773193109753523,
"detailed_name": "void usage()",
"qual_name_offset": 5,
"short_name": "usage",
"spell": "3:6-3:11|3:1-5:2|2|-1",
"bases": [],
"vars": [],
"callees": ["4:3-4:6|4259594751088586730|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "3:6-3:11|0|1|2|-1",
"extent": "3:1-5:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["4:3-4:6|4259594751088586730|3|16420"]
"uses": []
}],
"usr2type": [],
"usr2var": []

View File

@ -16,47 +16,48 @@ OUTPUT:
"detailed_name": "void usage()",
"qual_name_offset": 5,
"short_name": "usage",
"spell": "5:6-5:11|5:1-8:2|2|-1",
"bases": [],
"vars": [16229832321010999607],
"callees": ["7:6-7:9|17922201480358737771|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "5:6-5:11|0|1|2|-1",
"extent": "5:1-8:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [16229832321010999607],
"uses": [],
"callees": ["7:6-7:9|17922201480358737771|3|16420"]
"uses": []
}, {
"usr": 17922201480358737771,
"detailed_name": "void Foo::foo()",
"qual_name_offset": 5,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["2:8-2:11|2:3-2:13|15041163540773201510|2|1025|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["7:6-7:9|6767773193109753523|3|16420|-1"],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:8-2:11|2:3-2:13|1025|-1"],
"derived": [],
"uses": ["7:6-7:9|16420|-1"]
}],
"usr2type": [{
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "1:8-1:11|0|1|2|-1",
"extent": "1:1-3:2|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:11|1:1-3:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [17922201480358737771],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [16229832321010999607],
"uses": ["6:3-6:6|6767773193109753523|3|4|-1"]
"uses": ["6:3-6:6|4|-1"]
}],
"usr2var": [{
"usr": 16229832321010999607,
@ -64,13 +65,13 @@ OUTPUT:
"qual_name_offset": 5,
"short_name": "f",
"hover": "Foo *f = nullptr",
"declarations": [],
"spell": "6:8-6:9|6767773193109753523|3|2|-1",
"extent": "6:3-6:19|6767773193109753523|3|0|-1",
"spell": "6:8-6:9|6:3-6:19|2|-1",
"type": 15041163540773201510,
"uses": ["7:3-7:4|6767773193109753523|3|12|-1"],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": ["7:3-7:4|12|-1"]
}]
}
*/

View File

@ -16,29 +16,30 @@ OUTPUT:
"detailed_name": "void foo()",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "4:6-4:9|4:1-7:2|2|-1",
"bases": [],
"vars": [],
"callees": ["5:3-5:9|10585861037135727329|3|16420", "6:3-6:9|10585861037135727329|3|16420"],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "4:6-4:9|0|1|2|-1",
"extent": "4:1-7:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": ["5:3-5:9|10585861037135727329|3|16420", "6:3-6:9|10585861037135727329|3|16420"]
"uses": []
}, {
"usr": 10585861037135727329,
"detailed_name": "void accept(T)",
"qual_name_offset": 5,
"short_name": "accept",
"kind": 12,
"storage": 0,
"declarations": ["2:6-2:12|2:1-2:15|0|1|1|-1"],
"bases": [],
"derived": [],
"vars": [],
"uses": ["5:3-5:9|4259594751088586730|3|16420|-1", "6:3-6:9|4259594751088586730|3|16420|-1"],
"callees": []
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": ["2:6-2:12|2:1-2:15|1|-1"],
"derived": [],
"uses": ["5:3-5:9|16420|-1", "6:3-6:9|16420|-1"]
}],
"usr2type": [],
"usr2var": []

View File

@ -20,88 +20,88 @@ OUTPUT:
"detailed_name": "unique_ptr<S> *return_type()",
"qual_name_offset": 15,
"short_name": "return_type",
"spell": "9:16-9:27|9:1-12:2|2|-1",
"bases": [],
"vars": [3364438781074774169],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "9:16-9:27|0|1|2|-1",
"extent": "9:1-12:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [3364438781074774169],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 3286534761799572592,
"detailed_name": "class unique_ptr {}",
"qual_name_offset": 6,
"short_name": "unique_ptr",
"kind": 5,
"declarations": [],
"spell": "2:7-2:17|0|1|2|-1",
"extent": "2:1-2:20|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:17|2:1-2:20|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [12857919739649552168, 18075066956054788088, 3364438781074774169],
"uses": ["6:8-6:18|0|1|4|-1", "7:8-7:18|0|1|4|-1", "9:1-9:11|0|1|4|-1", "10:3-10:13|16359708726068806331|3|4|-1"]
"uses": ["6:8-6:18|4|-1", "7:8-7:18|4|-1", "9:1-9:11|4|-1", "10:3-10:13|4|-1"]
}, {
"usr": 4750332761459066907,
"detailed_name": "struct S {}",
"qual_name_offset": 7,
"short_name": "S",
"kind": 23,
"declarations": [],
"spell": "4:8-4:9|0|1|2|-1",
"extent": "4:1-4:12|0|1|0|-1",
"alias_of": 0,
"spell": "4:8-4:9|4:1-4:12|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["7:19-7:20|0|1|4|-1", "9:12-9:13|0|1|4|-1", "10:14-10:15|16359708726068806331|3|4|-1"]
"uses": ["7:19-7:20|4|-1", "9:12-9:13|4|-1", "10:14-10:15|4|-1"]
}],
"usr2var": [{
"usr": 3364438781074774169,
"detailed_name": "unique_ptr<S> *local",
"qual_name_offset": 15,
"short_name": "local",
"declarations": [],
"spell": "10:18-10:23|16359708726068806331|3|2|-1",
"extent": "10:3-10:23|16359708726068806331|3|0|-1",
"spell": "10:18-10:23|10:3-10:23|2|-1",
"type": 3286534761799572592,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 12857919739649552168,
"detailed_name": "static unique_ptr<bool> f0",
"qual_name_offset": 24,
"short_name": "f0",
"declarations": [],
"spell": "6:25-6:27|0|1|2|-1",
"extent": "6:1-6:27|0|1|0|-1",
"spell": "6:25-6:27|6:1-6:27|2|-1",
"type": 3286534761799572592,
"uses": [],
"kind": 13,
"storage": 2
"parent_kind": 0,
"storage": 2,
"declarations": [],
"uses": []
}, {
"usr": 18075066956054788088,
"detailed_name": "static unique_ptr<S> f1",
"qual_name_offset": 21,
"short_name": "f1",
"declarations": [],
"spell": "7:22-7:24|0|1|2|-1",
"extent": "7:1-7:24|0|1|0|-1",
"spell": "7:22-7:24|7:1-7:24|2|-1",
"type": 3286534761799572592,
"uses": [],
"kind": 13,
"storage": 2
"parent_kind": 0,
"storage": 2,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -88,147 +88,151 @@ OUTPUT:
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> *as_return_type(unique_ptr<S1, S2> *)",
"qual_name_offset": 36,
"short_name": "as_return_type",
"spell": "33:37-33:51|33:1-33:92|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "33:37-33:51|0|1|2|-1",
"extent": "33:1-33:92|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 13067214284561914253,
"detailed_name": "void no_return_type(int)",
"qual_name_offset": 5,
"short_name": "no_return_type",
"spell": "40:6-40:20|40:1-40:28|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "40:6-40:20|0|1|2|-1",
"extent": "40:1-40:28|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"uses": []
}, {
"usr": 17922201480358737771,
"detailed_name": "unique_ptr<S1, S2> *Foo::foo()",
"qual_name_offset": 20,
"short_name": "foo",
"kind": 6,
"storage": 0,
"declarations": ["65:23-65:26|65:3-65:28|15041163540773201510|2|1025|-1"],
"spell": "79:26-79:29|15041163540773201510|2|1026|-1",
"extent": "79:1-79:51|15041163540773201510|2|0|-1",
"spell": "79:26-79:29|79:1-79:51|1026|-1",
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
"callees": [],
"kind": 6,
"parent_kind": 5,
"storage": 0,
"declarations": ["65:23-65:26|65:3-65:28|1025|-1"],
"derived": [],
"uses": []
}, {
"usr": 18320186404467436976,
"detailed_name": "void empty()",
"qual_name_offset": 5,
"short_name": "empty",
"spell": "53:6-53:11|53:1-55:2|2|-1",
"bases": [],
"vars": [500112618220246],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "53:6-53:11|0|1|2|-1",
"extent": "53:1-55:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [500112618220246],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 4310164820010458371,
"detailed_name": "struct S1",
"qual_name_offset": 7,
"short_name": "S1",
"kind": 23,
"declarations": ["4:8-4:10|4:1-4:10|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": ["4:8-4:10|4:1-4:10|1|-1"],
"derived": [],
"instances": [],
"uses": ["15:30-15:32|0|1|4|-1", "33:23-33:25|0|1|4|-1", "33:63-33:65|0|1|4|-1", "54:25-54:27|18320186404467436976|3|4|-1", "65:14-65:16|15041163540773201510|2|4|-1", "79:12-79:14|0|1|4|-1"]
"uses": ["15:30-15:32|4|-1", "33:23-33:25|4|-1", "33:63-33:65|4|-1", "54:25-54:27|4|-1", "65:14-65:16|4|-1", "79:12-79:14|4|-1"]
}, {
"usr": 12728490517004312484,
"detailed_name": "struct S2",
"qual_name_offset": 7,
"short_name": "S2",
"kind": 23,
"declarations": ["5:8-5:10|5:1-5:10|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": ["5:8-5:10|5:1-5:10|1|-1"],
"derived": [],
"instances": [],
"uses": ["15:34-15:36|0|1|4|-1", "15:39-15:41|0|1|4|-1", "33:27-33:29|0|1|4|-1", "33:32-33:34|0|1|4|-1", "33:67-33:69|0|1|4|-1", "54:29-54:31|18320186404467436976|3|4|-1", "54:34-54:36|18320186404467436976|3|4|-1", "65:18-65:20|15041163540773201510|2|4|-1", "79:16-79:18|0|1|4|-1"]
"uses": ["15:34-15:36|4|-1", "15:39-15:41|4|-1", "33:27-33:29|4|-1", "33:32-33:34|4|-1", "33:67-33:69|4|-1", "54:29-54:31|4|-1", "54:34-54:36|4|-1", "65:18-65:20|4|-1", "79:16-79:18|4|-1"]
}, {
"usr": 14209198335088845323,
"detailed_name": "class unique_ptr",
"qual_name_offset": 6,
"short_name": "unique_ptr",
"kind": 5,
"declarations": ["2:7-2:17|2:1-2:17|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": ["2:7-2:17|2:1-2:17|1|-1"],
"derived": [],
"instances": [2933643612409209903, 500112618220246],
"uses": ["15:8-15:18|0|1|4|-1", "15:19-15:29|0|1|4|-1", "33:1-33:11|0|1|4|-1", "33:12-33:22|0|1|4|-1", "33:52-33:62|0|1|4|-1", "54:3-54:13|18320186404467436976|3|4|-1", "54:14-54:24|18320186404467436976|3|4|-1", "65:3-65:13|15041163540773201510|2|4|-1", "79:1-79:11|0|1|4|-1"]
"uses": ["15:8-15:18|4|-1", "15:19-15:29|4|-1", "33:1-33:11|4|-1", "33:12-33:22|4|-1", "33:52-33:62|4|-1", "54:3-54:13|4|-1", "54:14-54:24|4|-1", "65:3-65:13|4|-1", "79:1-79:11|4|-1"]
}, {
"usr": 15041163540773201510,
"detailed_name": "class Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"kind": 5,
"declarations": [],
"spell": "64:7-64:10|0|1|2|-1",
"extent": "64:1-66:2|0|1|0|-1",
"alias_of": 0,
"spell": "64:7-64:10|64:1-66:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [17922201480358737771],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": ["79:21-79:24|0|1|4|-1"]
"uses": ["79:21-79:24|4|-1"]
}],
"usr2var": [{
"usr": 500112618220246,
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> *local",
"qual_name_offset": 36,
"short_name": "local",
"declarations": [],
"spell": "54:39-54:44|18320186404467436976|3|2|-1",
"extent": "54:3-54:44|18320186404467436976|3|0|-1",
"spell": "54:39-54:44|54:3-54:44|2|-1",
"type": 14209198335088845323,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 2933643612409209903,
"detailed_name": "extern unique_ptr<unique_ptr<S1, S2>, S2> f",
"qual_name_offset": 42,
"short_name": "f",
"declarations": ["15:43-15:44|15:1-15:44|0|1|1|-1"],
"type": 14209198335088845323,
"uses": [],
"kind": 13,
"storage": 1
"parent_kind": 0,
"storage": 1,
"declarations": ["15:43-15:44|15:1-15:44|1|-1"],
"uses": []
}]
}
*/

View File

@ -16,46 +16,47 @@ OUTPUT:
"detailed_name": "class unique_ptr {}",
"qual_name_offset": 6,
"short_name": "unique_ptr",
"kind": 5,
"declarations": [],
"spell": "2:7-2:17|0|1|2|-1",
"extent": "2:1-2:20|0|1|0|-1",
"alias_of": 0,
"spell": "2:7-2:17|2:1-2:20|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [3398408600781120939],
"uses": ["6:8-6:18|0|1|4|-1"]
"uses": ["6:8-6:18|4|-1"]
}, {
"usr": 4750332761459066907,
"detailed_name": "struct S",
"qual_name_offset": 7,
"short_name": "S",
"kind": 23,
"declarations": ["4:8-4:9|4:1-4:9|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": ["4:8-4:9|4:1-4:9|1|-1"],
"derived": [],
"instances": [],
"uses": ["6:19-6:20|0|1|4|-1"]
"uses": ["6:19-6:20|4|-1"]
}],
"usr2var": [{
"usr": 3398408600781120939,
"detailed_name": "static unique_ptr<S> foo",
"qual_name_offset": 21,
"short_name": "foo",
"declarations": [],
"spell": "6:22-6:25|0|1|2|-1",
"extent": "6:1-6:25|0|1|0|-1",
"spell": "6:22-6:25|6:1-6:25|2|-1",
"type": 3286534761799572592,
"uses": [],
"kind": 13,
"storage": 2
"parent_kind": 0,
"storage": 2,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -12,29 +12,30 @@ OUTPUT:
"detailed_name": "struct T {}",
"qual_name_offset": 7,
"short_name": "T",
"kind": 23,
"declarations": [],
"spell": "1:8-1:9|0|1|2|-1",
"extent": "1:1-1:12|0|1|0|-1",
"alias_of": 0,
"spell": "1:8-1:9|1:1-1:12|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [1346710425945444872],
"uses": ["3:8-3:9|0|1|4|-1"]
"uses": ["3:8-3:9|4|-1"]
}],
"usr2var": [{
"usr": 1346710425945444872,
"detailed_name": "extern T t",
"qual_name_offset": 9,
"short_name": "t",
"declarations": ["3:10-3:11|3:1-3:11|0|1|1|-1"],
"type": 5673439900521455039,
"uses": [],
"kind": 13,
"storage": 1
"parent_kind": 0,
"storage": 1,
"declarations": ["3:10-3:11|3:1-3:11|1|-1"],
"uses": []
}]
}
*/

View File

@ -17,47 +17,43 @@ OUTPUT:
"detailed_name": "struct ImplementedType {}",
"qual_name_offset": 7,
"short_name": "ImplementedType",
"kind": 23,
"declarations": [],
"spell": "2:8-2:23|0|1|2|-1",
"extent": "2:1-2:26|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:23|2:1-2:26|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [14727441168849658842],
"uses": ["6:3-6:18|15041163540773201510|2|4|-1"]
"uses": ["6:3-6:18|4|-1"]
}, {
"usr": 13749354388332789217,
"detailed_name": "struct ForwardType",
"qual_name_offset": 7,
"short_name": "ForwardType",
"kind": 23,
"declarations": ["1:8-1:19|1:1-1:19|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": ["1:8-1:19|1:1-1:19|1|-1"],
"derived": [],
"instances": [14314859014962085433],
"uses": ["5:3-5:14|15041163540773201510|2|4|-1"]
"uses": ["5:3-5:14|4|-1"]
}, {
"usr": 15041163540773201510,
"detailed_name": "struct Foo {}",
"qual_name_offset": 7,
"short_name": "Foo",
"kind": 23,
"declarations": [],
"spell": "4:8-4:11|0|1|2|-1",
"extent": "4:1-7:2|0|1|0|-1",
"alias_of": 0,
"spell": "4:8-4:11|4:1-7:2|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [{
"L": 14314859014962085433,
"R": 0
@ -65,6 +61,11 @@ OUTPUT:
"L": 14727441168849658842,
"R": 64
}],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [],
"uses": []
}],
@ -73,25 +74,25 @@ OUTPUT:
"detailed_name": "ForwardType *Foo::a",
"qual_name_offset": 13,
"short_name": "a",
"declarations": [],
"spell": "5:16-5:17|15041163540773201510|2|1026|-1",
"extent": "5:3-5:17|15041163540773201510|2|0|-1",
"spell": "5:16-5:17|5:3-5:17|1026|-1",
"type": 13749354388332789217,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 23,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 14727441168849658842,
"detailed_name": "ImplementedType Foo::b",
"qual_name_offset": 16,
"short_name": "b",
"declarations": [],
"spell": "6:19-6:20|15041163540773201510|2|1026|-1",
"extent": "6:3-6:20|15041163540773201510|2|0|-1",
"spell": "6:19-6:20|6:3-6:20|1026|-1",
"type": 8508299082070213750,
"uses": [],
"kind": 8,
"storage": 0
"parent_kind": 23,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -16,74 +16,75 @@ OUTPUT:
"detailed_name": "void Foo()",
"qual_name_offset": 5,
"short_name": "Foo",
"spell": "4:6-4:9|4:1-7:2|2|-1",
"bases": [],
"vars": [16374832544037266261, 2580122838476012357],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "4:6-4:9|0|1|2|-1",
"extent": "4:1-7:2|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [16374832544037266261, 2580122838476012357],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 8508299082070213750,
"detailed_name": "struct ImplementedType {}",
"qual_name_offset": 7,
"short_name": "ImplementedType",
"kind": 23,
"declarations": [],
"spell": "2:8-2:23|0|1|2|-1",
"extent": "2:1-2:26|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:23|2:1-2:26|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2580122838476012357],
"uses": ["6:3-6:18|4654328188330986029|3|4|-1"]
"uses": ["6:3-6:18|4|-1"]
}, {
"usr": 13749354388332789217,
"detailed_name": "struct ForwardType",
"qual_name_offset": 7,
"short_name": "ForwardType",
"kind": 23,
"declarations": ["1:8-1:19|1:1-1:19|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": ["1:8-1:19|1:1-1:19|1|-1"],
"derived": [],
"instances": [16374832544037266261],
"uses": ["5:3-5:14|4654328188330986029|3|4|-1"]
"uses": ["5:3-5:14|4|-1"]
}],
"usr2var": [{
"usr": 2580122838476012357,
"detailed_name": "ImplementedType b",
"qual_name_offset": 16,
"short_name": "b",
"declarations": [],
"spell": "6:19-6:20|4654328188330986029|3|2|-1",
"extent": "6:3-6:20|4654328188330986029|3|0|-1",
"spell": "6:19-6:20|6:3-6:20|2|-1",
"type": 8508299082070213750,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 16374832544037266261,
"detailed_name": "ForwardType *a",
"qual_name_offset": 13,
"short_name": "a",
"declarations": [],
"spell": "5:16-5:17|4654328188330986029|3|2|-1",
"extent": "5:3-5:17|4654328188330986029|3|0|-1",
"spell": "5:16-5:17|5:3-5:17|2|-1",
"type": 13749354388332789217,
"uses": [],
"kind": 13,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

View File

@ -13,74 +13,75 @@ OUTPUT:
"detailed_name": "void foo(ForwardType *f, ImplementedType a)",
"qual_name_offset": 5,
"short_name": "foo",
"spell": "4:6-4:9|4:1-4:47|2|-1",
"bases": [],
"vars": [13058491096576226774, 11055777568039014776],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"spell": "4:6-4:9|0|1|2|-1",
"extent": "4:1-4:47|0|1|0|-1",
"bases": [],
"derived": [],
"vars": [13058491096576226774, 11055777568039014776],
"uses": [],
"callees": []
"uses": []
}],
"usr2type": [{
"usr": 8508299082070213750,
"detailed_name": "struct ImplementedType {}",
"qual_name_offset": 7,
"short_name": "ImplementedType",
"kind": 23,
"declarations": [],
"spell": "2:8-2:23|0|1|2|-1",
"extent": "2:1-2:26|0|1|0|-1",
"alias_of": 0,
"spell": "2:8-2:23|2:1-2:26|2|-1",
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [11055777568039014776],
"uses": ["4:26-4:41|0|1|4|-1"]
"uses": ["4:26-4:41|4|-1"]
}, {
"usr": 13749354388332789217,
"detailed_name": "struct ForwardType",
"qual_name_offset": 7,
"short_name": "ForwardType",
"kind": 23,
"declarations": ["1:8-1:19|1:1-1:19|0|1|1|-1"],
"alias_of": 0,
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"types": [],
"vars": [],
"alias_of": 0,
"kind": 23,
"parent_kind": 0,
"declarations": ["1:8-1:19|1:1-1:19|1|-1"],
"derived": [],
"instances": [13058491096576226774],
"uses": ["4:10-4:21|0|1|4|-1"]
"uses": ["4:10-4:21|4|-1"]
}],
"usr2var": [{
"usr": 11055777568039014776,
"detailed_name": "ImplementedType a",
"qual_name_offset": 16,
"short_name": "a",
"declarations": [],
"spell": "4:42-4:43|1699390678058422036|3|1026|-1",
"extent": "4:26-4:43|1699390678058422036|3|0|-1",
"spell": "4:42-4:43|4:26-4:43|1026|-1",
"type": 8508299082070213750,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}, {
"usr": 13058491096576226774,
"detailed_name": "ForwardType *f",
"qual_name_offset": 13,
"short_name": "f",
"declarations": [],
"spell": "4:23-4:24|1699390678058422036|3|1026|-1",
"extent": "4:10-4:24|1699390678058422036|3|0|-1",
"spell": "4:23-4:24|4:10-4:24|1026|-1",
"type": 13749354388332789217,
"uses": [],
"kind": 253,
"storage": 0
"parent_kind": 12,
"storage": 0,
"declarations": [],
"uses": []
}]
}
*/

Some files were not shown because too many files have changed in this diff Show More