History log of /llvm-project/clang/tools/libclang/CXCursor.cpp (Results 276 – 300 of 322)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# bd066789 09-Feb-2011 John McCall <rjmccall@apple.com>

Remove vtables from the Stmt hierarchy; this was pretty easy as
there were only three virtual methods of any significance.

The primary way to grab child iterators now is with
Stmt::child_range ch

Remove vtables from the Stmt hierarchy; this was pretty easy as
there were only three virtual methods of any significance.

The primary way to grab child iterators now is with
Stmt::child_range children();
Stmt::const_child_range children() const;
where a child_range is just a std::pair of iterators suitable for
being llvm::tie'd to some locals. I've left the old child_begin()
and child_end() accessors in place, but it's probably a substantial
penalty to grab the iterators individually now, since the
switch-based dispatch is kindof inherently slower than vtable
dispatch. Grabbing them together is probably a slight win over the
status quo, although of course we could've achieved that with vtables, too.

I also reclassified SwitchCase (correctly) as an abstract Stmt
class, which (as the first such class that wasn't an Expr subclass)
required some fiddling in a few places.

There are somewhat gross metaprogramming hooks in place to ensure
that new statements/expressions continue to implement
getSourceRange() and children(). I had to work around a recent clang
bug; dgregor actually fixed it already, but I didn't want to
introduce a selfhosting dependency on ToT.

llvm-svn: 125183

show more ...


# 8dfa5f17 18-Jan-2011 Jeffrey Yasskin <jyasskin@google.com>

Fix warnings found by gcc-4.6, from -Wunused-but-set-variable and
-Wint-to-pointer-cast.

llvm-svn: 123719


# cdbc539a 15-Jan-2011 Douglas Gregor <dgregor@apple.com>

Introduce a new expression kind, SubstNonTypeTemplateParmPackExpr,
that captures the substitution of a non-type template argument pack
for a non-type template parameter pack within a pack expansion t

Introduce a new expression kind, SubstNonTypeTemplateParmPackExpr,
that captures the substitution of a non-type template argument pack
for a non-type template parameter pack within a pack expansion that
cannot be fully expanded. This follows the approach taken by
SubstTemplateTypeParmPackType.

llvm-svn: 123506

show more ...


# 820ba7ba 04-Jan-2011 Douglas Gregor <dgregor@apple.com>

Implement the sizeof...(pack) expression to compute the length of a
parameter pack.

Note that we're missing proper libclang support for the new
SizeOfPackExpr expression node.

llvm-svn: 122813


# e8e9dd62 03-Jan-2011 Douglas Gregor <dgregor@apple.com>

Implement support for pack expansions whose pattern is a non-type
template argument (described by an expression, of course). For
example:

template<int...> struct int_tuple { };

template<int ...

Implement support for pack expansions whose pattern is a non-type
template argument (described by an expression, of course). For
example:

template<int...> struct int_tuple { };

template<int ...Values>
struct square {
typedef int_tuple<(Values*Values)...> type;
};

It also lays the foundation for pack expansions in an initializer-list.


llvm-svn: 122751

show more ...


# 2f9a124f 09-Dec-2010 Anders Carlsson <andersca@mac.com>

Fix build.

llvm-svn: 121341


# 69c819cd 09-Dec-2010 Ted Kremenek <kremenek@apple.com>

Remove extra namespace specifier.

llvm-svn: 121334


# bbf91a89 09-Dec-2010 Ted Kremenek <kremenek@apple.com>

DenseMapInfo is a 'struct', not a 'class'.

llvm-svn: 121321


# bbedd062 08-Dec-2010 Ted Kremenek <kremenek@apple.com>

Add new libclang hooks for CXCursorSet, a
DenseMap-backed hashtable for doing client-side
management of CXCursors within a set.

llvm-svn: 121318


# 34b21132 08-Dec-2010 Francois Pichet <pichet2000@gmail.com>

Remove the TypesCompatibleExprClass AST node. Merge its functionality into BinaryTypeTraitExpr.

llvm-svn: 121298


# 9dfa3ce9 07-Dec-2010 Francois Pichet <pichet2000@gmail.com>

Type traits intrinsic implementation: __is_base_of(T, U)
New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics.

llvm-svn: 121074


# 5d413781 06-Dec-2010 John McCall <rjmccall@apple.com>

Rename CXXExprWithTemporaries -> ExprWithCleanups; there's no theoretical
reason this is limited to C++, and it's certainly not limited to temporaries.

llvm-svn: 120996


# b7bd14fa 02-Dec-2010 John McCall <rjmccall@apple.com>

Simplify the ASTs by consolidating ObjCImplicitGetterSetterExpr and ObjCPropertyRefExpr
into the latter.

llvm-svn: 120643


# 7df92ae9 17-Nov-2010 Ted Kremenek <kremenek@apple.com>

Make definition of CXTranslationUnitImpl private
to libclang.

llvm-svn: 119585


# 91554285 16-Nov-2010 Ted Kremenek <kremenek@apple.com>

Change CXTranslationUnit to not directly cast to an ASTUnit*,
but to wrap both an ASTUnit and a "string pool"
that will be used for fast USR generation.

This requires a bunch of mechanical changes,

Change CXTranslationUnit to not directly cast to an ASTUnit*,
but to wrap both an ASTUnit and a "string pool"
that will be used for fast USR generation.

This requires a bunch of mechanical changes, as
there was a ton of code that assumed that CXTranslationUnit
and ASTUnit* were the same.

Along with this change, introduce CXStringBuf,
which provides an llvm::SmallVector<char> backing
for repeatedly generating CXStrings without a huge
amount of malloc() traffic. This requires making
some changes to the representation of CXString
by renaming a few fields (but keeping the size
of the object the same).

llvm-svn: 119337

show more ...


# 4b4f3699 16-Nov-2010 Ted Kremenek <kremenek@apple.com>

Move CXString creation/management routines into
their own .cpp file and make the interpretation
of its flags private.

llvm-svn: 119319


# 8d69a216 15-Nov-2010 John McCall <rjmccall@apple.com>

Add a new expression kind, OpaqueValueExpr, which is useful for
certain internal type-checking procedures as well as for representing
certain implicitly-generated operations. Uses to follow.

llvm-s

Add a new expression kind, OpaqueValueExpr, which is useful for
certain internal type-checking procedures as well as for representing
certain implicitly-generated operations. Uses to follow.

llvm-svn: 119289

show more ...


# 818e5c18 01-Nov-2010 Ted Kremenek <kremenek@apple.com>

Encapsulate within CXCursor the notion of whether a VarDecl* is the first Decl in a DeclGroup. We use this
to recover some context that is currently not modeled directly in the AST. Currently VarDe

Encapsulate within CXCursor the notion of whether a VarDecl* is the first Decl in a DeclGroup. We use this
to recover some context that is currently not modeled directly in the AST. Currently VarDecl's cannot
properly determine their source range because they have no context on whether or not they appear in a DeclGroup.
For the meantime, this bandaid suffices in libclang since that is where the correct SourceRange is directly needed.

Fixes <rdar://problem/8595749>.

llvm-svn: 117973

show more ...


# 796d76a6 20-Oct-2010 Douglas Gregor <dgregor@apple.com>

Extend the preprocessing record and libclang with support for
inclusion directives, keeping track of every #include, #import,
etc. in the translation unit. We keep track of the source location and
ki

Extend the preprocessing record and libclang with support for
inclusion directives, keeping track of every #include, #import,
etc. in the translation unit. We keep track of the source location and
kind of the inclusion, how the file name was spelled, and the
underlying file to which the inclusion resolved.

llvm-svn: 116952

show more ...


# 681c0754 14-Oct-2010 Fariborz Jahanian <fjahanian@apple.com>

Eliminate usage of ObjCSuperExpr used for
'super' as receiver of property or a setter/getter
methods. //rdar: //8525788

llvm-svn: 116483


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2
# 16a2bdd6 13-Sep-2010 Douglas Gregor <dgregor@apple.com>

Introduce a new kind of cursor into libclang, which covers a reference
to an "overloaded" set of declarations. This cursor kind works for
unresolved references to functions/templates (e.g., a call wi

Introduce a new kind of cursor into libclang, which covers a reference
to an "overloaded" set of declarations. This cursor kind works for
unresolved references to functions/templates (e.g., a call within a
template), using declarations, and Objective-C class and protocol
forward declarations.

llvm-svn: 113805

show more ...


# 4202c0f2 10-Sep-2010 Sebastian Redl <sebastian.redl@getdesigned.at>

Define and implement CXXNoexceptExpr. Create it in Sema.

llvm-svn: 113623


# a93ab663 10-Sep-2010 Douglas Gregor <dgregor@apple.com>

Add libclang support for label statements, gotos, and taking the
address of a label (GNU extension).

llvm-svn: 113564


# f3af3113 09-Sep-2010 Douglas Gregor <dgregor@apple.com>

Teach libclang to walk the base and member initializers of a
constructor, in source order. Also introduces a new reference kind for
class members, which is used here (for member initializers) and wil

Teach libclang to walk the base and member initializers of a
constructor, in source order. Also introduces a new reference kind for
class members, which is used here (for member initializers) and will
also be used for designated initializers and offsetof.

llvm-svn: 113545

show more ...


# 5cc0a67f 08-Sep-2010 Francois Pichet <pichet2000@gmail.com>

Fix warnings caused by new CXXUuidofExprClass enumerator.

llvm-svn: 113444


1...<<111213