[PATCH] D32020: [indexer] The relationship between the declarations in template specializations that 'override' declarations in the base template should be recorded

Alex Lorenz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 13 08:34:49 PDT 2017


arphaman created this revision.

This is useful for "go to definition" feature for an IDE like Xcode. Consider the following example:

  template<typename T>
  struct Traits { 
    using EncodedAs = void; // 1
  }; 
  
  template<>
  struct Traits<char> {
    using EncodedAs = int; // 2
  };

This change will allow the IDE to take the user to `EncodedAs` at `1` if the user wishes to perform "go to definition" on `EncodedAs` at `2`.


Repository:
  rL LLVM

https://reviews.llvm.org/D32020

Files:
  lib/Index/IndexDecl.cpp
  lib/Index/IndexingContext.cpp
  lib/Index/IndexingContext.h
  test/Index/Core/index-source.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32020.95136.patch
Type: text/x-patch
Size: 9990 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170413/ce8eb785/attachment-0001.bin>


More information about the cfe-commits mailing list