| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 112862
|
|
|
|
|
|
| |
template arguments of a MemberExpr.
llvm-svn: 112860
|
|
|
|
|
|
| |
arguments of a DeclRefExpr.
llvm-svn: 112854
|
|
|
|
|
|
|
|
| |
cursors. Sadly, this visitation is a hack, because we don't have
proper source-location information for nested-name-specifiers in the
AST. It does improve on the status quo, however.
llvm-svn: 112837
|
|
|
|
|
|
|
|
|
| |
clang_getSpecializedCursorTemplate(), which determines the template
(or member thereof) that the given cursor specializes or from which it
was instantiated. This routine can be used to establish a link between
templates and their instantiations/specializations.
llvm-svn: 112780
|
|
|
|
| |
llvm-svn: 112734
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
three different kinds of AST nodes to represent using declarations:
UsingDecl, UnresolvedUsingValueDecl, and
UnresolvedUsingTypenameDecl. These three are collapsed into a single
cursor kind for using declarations, since libclang clients don't need
the distinction.
Several related changes here:
- Cursor visitation of the three AST nodes for using declarations
- Proper source-range computation for these AST nodes
- Using declarations have no USRs, since they don't actually declare
any entities.
llvm-svn: 112730
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in a few related ways:
- Don't recurse into instantiations of templates.
- Recurse into explicit specializations.
- Visit the template arguments of an explicit specialization or
explicit instantiation.
- Include template specialization arguments in the USRs for class
template specializations.
llvm-svn: 112720
|
|
|
|
|
|
| |
it is given.
llvm-svn: 112717
|
|
|
|
|
|
|
|
| |
suppressing USRs). Also, fix up the source location information for
using directives so that the declaration location refers to the
namespace name.
llvm-svn: 112693
|
|
|
|
|
|
|
|
|
|
|
| |
with a new cursor kind for a reference to a namespace.
There's still some oddities in the source location information for
NamespaceAliasDecl that I'll address with a separate commit, so the
source locations displayed in the load-namespaces.cpp test will
change.
llvm-svn: 112676
|
|
|
|
|
|
|
|
|
|
|
| |
determines the kind of declaration that would be generated if the
given template were instantiated. This allows a client to distinguish
among class/struct/union templates and function/member function/static
member function templates.
Also, teach clang_CXXMethod_isStatic() about function templates.
llvm-svn: 112655
|
|
|
|
|
|
|
|
|
| |
template. Such cursors occur, for example, in template specialization
types such as vector<int>. Note that we do not handle the
super-interesting case where the template name is unresolved, e.g.,
within a template.
llvm-svn: 112636
|
|
|
|
|
|
| |
including a cursor kind, visitation, and USRs.
llvm-svn: 112629
|
|
|
|
|
|
| |
class templates.
llvm-svn: 112627
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libclang. This includes:
- Cursor kind for function templates, with visitation logic
- Cursor kinds for template parameters, with visitation logic
- Visitation logic for template specialization types, qualified type
locations
- USR generation for function templates, template specialization
types, template parameter types.
Also happens to fix PR7804, which I tripped across while testing.
llvm-svn: 112604
|
|
|
|
|
|
|
|
| |
conversion functions. This introduces new cursor kinds for these three
C++ entities, and reworks visitation of function declarations so that
we get type-source information for the names.
llvm-svn: 112600
|
|
|
|
|
|
| |
some issues being sorted out.
llvm-svn: 112493
|
|
|
|
|
|
|
|
|
|
| |
The extra data stored on user-defined literal Tokens is stored in extra
allocated memory, which is managed by the PreprocessorLexer because there isn't
a better place to put it that makes sure it gets deallocated, but only after
it's used up. My testing has shown no significant slowdown as a result, but
independent testing would be appreciated.
llvm-svn: 112458
|
|
|
|
| |
llvm-svn: 112303
|
|
|
|
|
|
|
|
| |
adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier.
Implements <rdar://problem/8274883>.
llvm-svn: 112296
|
|
|
|
| |
llvm-svn: 112292
|
|
|
|
| |
llvm-svn: 112186
|
|
|
|
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
3rd try. How embarrassing.
llvm-svn: 112180
|
|
|
|
|
|
| |
path and ...", it is failing tests.
llvm-svn: 112161
|
|
|
|
|
|
| |
doth lay upon the chopping block.
llvm-svn: 112160
|
|
|
|
| |
llvm-svn: 112154
|
|
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
llvm-svn: 112149
|
|
|
|
|
|
| |
collection type for iboutletcollection attributes.
llvm-svn: 112139
|
|
|
|
|
|
|
| |
into the clients", because the C standard library sucks. Where's my
stable sort, huh?
llvm-svn: 112121
|
|
|
|
|
|
| |
cursors that come before a macro instantiation. Fixes <rdar://problem/7974151>.
llvm-svn: 112096
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
llvm-svn: 112095
|
|
|
|
| |
llvm-svn: 112028
|
|
|
|
|
|
| |
(<rdar://problem/8350262>)
llvm-svn: 111991
|
|
|
|
|
|
|
| |
of a cursor or code-completion result, e.g., whether that result
refers to an unavailable, deleted, or deprecated declaration.
llvm-svn: 111858
|
|
|
|
|
|
| |
clang_parseTranslationUnit.
llvm-svn: 111855
|
|
|
|
| |
llvm-svn: 111768
|
|
|
|
|
|
|
|
|
| |
- move DeclSpec &c into the Sema library
- move ParseAST into the Parse library
Reflect this change in a thousand different includes.
Reflect this change in the link orders.
llvm-svn: 111667
|
|
|
|
|
|
|
|
|
| |
sure to (1) actually use the remapped files we were given rather
than old data, and (2) keep the remapped files alive until the
code-completion results are destroyed. Big thanks to Daniel for the
test case.
llvm-svn: 111597
|
|
|
|
|
|
|
| |
- Test case is disabled for now, because something isn't write with file
remapping.
llvm-svn: 111581
|
|
|
|
| |
llvm-svn: 111578
|
|
|
|
| |
llvm-svn: 111472
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now all classes derived from Attr are generated from TableGen.
Additionally, Attr* is no longer its own linked list; SmallVectors or
Attr* are used. The accompanying LLVM commit contains the updates to
TableGen necessary for this.
Some other notes about newly-generated attribute classes:
- The constructor arguments are a SourceLocation and a Context&,
followed by the attributes arguments in the order that they were
defined in Attr.td
- Every argument in Attr.td has an appropriate accessor named getFoo,
and there are sometimes a few extra ones (such as to get the length
of a variadic argument).
Additionally, specific_attr_iterator has been introduced, which will
iterate over an AttrVec, but only over attributes of a certain type. It
can be accessed through either Decl::specific_attr_begin/end or
the global functions of the same name.
llvm-svn: 111455
|
|
|
|
| |
llvm-svn: 111451
|
|
|
|
| |
llvm-svn: 111387
|
|
|
|
|
|
| |
may need to add an explicit API call, but hopefully we can make the crash recovery seamless enough that it doesn't make sense to turn it off.
llvm-svn: 111386
|
|
|
|
|
|
| |
location. Patch by Eelis van der Weegen!
llvm-svn: 111362
|
|
|
|
| |
llvm-svn: 111279
|
|
|
|
| |
llvm-svn: 111267
|
|
|
|
| |
llvm-svn: 111261
|