Fangrui Song
86e340caf0
Adapt llvmorg-10-init-12036-g3b9715cb2193: handleDeclOccurence -> handleDeclOccurrence
2019-12-16 22:12:23 -08:00
xVan Turing
cef0203484
indexer: add name for anonymous Enum
2019-11-16 09:34:59 -08:00
Fangrui Song
468a2fb6ca
indexer: fix getAdjustedDecl for explicit instantiations; fix incorrect short_offset_size=1 when name is empty
...
Fix #516
2019-11-09 20:09:13 -08:00
Fangrui Song
050a16c3d7
Fix some clang-tidy warnings
...
Incorporated some fixes by Daniel Chabrowski (#467 )
2019-11-09 20:09:13 -08:00
Fangrui Song
a655ca966d
indexer: disable warnings and skip processed function bodies
...
Adapt clang rC370337: removal of createIndexingAction and WrappingIndexAction
2019-11-09 20:09:13 -08:00
Fangrui Song
d2b904a514
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-11-09 20:09:13 -08:00
Fangrui Song
91abea080b
💥 Rename FunctionName -> functionName, VarName -> var_name
2019-11-09 20:09:13 -08:00
Fangrui Song
6528dcb81d
Construct SourceManager with UserFilesAreVolatile
...
Fix #235 . Close #453
In clang, it may be worth generalizing UserFilesAreVolatile (introduced in rC160074) to FilesAreVolatile.
2019-11-09 20:09:13 -08:00
Fangrui Song
6d0a096272
Adapt rL364464: clang::FrontendAction::Execute returns llvm::Error instead of bool
2019-11-09 20:09:13 -08:00
Fangrui Song
1d3fba276f
Set RetainRemappedFileBuffers to true
...
Reported by David Welch in #350 .
This fixes double-free of llvm::MemoryBuffer when parsing fails.
2019-11-09 20:09:13 -08:00
Fangrui Song
193eacc837
Adapt clang rC357037: removal of setVirtualFileSystem
2019-11-09 20:09:13 -08:00
Fangrui Song
752012fa19
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-11-09 20:09:13 -08:00
Fangrui Song
89ec8ed236
Add initialization option index.name.suppressUnwrittenScope (default: false)
2019-11-09 20:09:13 -08:00
Fangrui Song
be391ee72d
Misc
2019-11-09 20:09:13 -08:00
Fangrui Song
cafd2d4f77
Change Pos::line from int16_t to uint16_t
...
This allows representing line 0 ~ 65535.
2019-11-09 20:09:13 -08:00
Fangrui Song
dd9d21083b
Make hover more detailed (e.g. include inheritance info)
2019-11-09 20:09:13 -08:00
Fangrui Song
9438be32c6
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-11-09 20:09:13 -08:00
Fangrui Song
7bc952e543
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-11-09 20:09:13 -08:00
Fangrui Song
4fd6e11c90
Compute CompletionItemKind from Declaration instead of CursorKind
2019-11-09 20:09:13 -08:00
Fangrui Song
6a517223eb
Drop support for clang 6
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
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
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
d6dd932e6d
Refactor Matcher to use pimpl and merge match.hh into utils.hh
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
46d3f075dc
Use clang::isIdentifierBody and clean up utils/working_files
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
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
c598f3ebbd
Fix EnumConstantDecl's kind & EnumDecl's vars
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
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
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
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
8b2565fcd0
For $ccls/member, use unadjusted RecordDecl (if there is forward declaration) and handle ClassTemplateSpecialization
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
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
cff6c4714c
Simplify semantic highlighting; improve hover of auto &&
2019-11-09 19:58:32 -08:00
Fangrui Song
d5f4f22508
Add GetAdjustedDecl to adjust Decl's that are missed by clangIndex
2019-11-09 19:58:32 -08:00
Fangrui Song
3334b2c4b7
Remove clang_utils.*
2019-11-09 19:58:32 -08:00
Fangrui Song
3dea9486b9
Misc
...
Move using below #include to make preamble happy
textDocument/references: if no references, first line or last line => list where this file is included
malloc_trim() only if files have been indexed in last cycle
Intern: use CachedHashStringRef
2019-11-09 19:58:32 -08:00
Fangrui Song
daa6fbf4b8
Misc
2019-11-09 19:58:32 -08:00
Fangrui Song
4ea0dee1c9
Fix spurious "Failed to index" errors
2019-11-09 19:58:32 -08:00
Fangrui Song
f0400fdcf2
Delete file_consumer.*
2019-11-09 19:58:32 -08:00
Fangrui Song
d9f0de4719
Clean up FileConsumer and improve pipeline
2019-11-09 19:58:32 -08:00
Fangrui Song
110023483a
Improve VarDef::type for textDocument/typeDefinition
2019-11-09 19:58:32 -08:00