[cfe-dev] Decls and Attrs

Aaron Ballman aaron at aaronballman.com
Wed Aug 14 06:24:54 PDT 2013


Ah, no, I misunderstood your question.  Sorry about that!

And no, there is no direct link from an attribute back to a decl.  For
instance, the attribute could be attached to a type or a stmt, as well
as a decl.

However, the Decl does not own its Attrs; the ASTContext does.  So you
could modify the ASTContext to tell you which Decls an Attr is
attached to if you only care about Decls.

~Aaron

On Wed, Aug 14, 2013 at 9:04 AM, Vassil Vassilev
<vasil.georgiev.vasilev at cern.ch> wrote:
> Hi Aaron,
>   Maybe I misundertand. My question is actually the inverse. Given that I
> have an attribute can I find which decl it is attached to?
> Vassil
>
> On 08/14/2013 03:00 PM, Aaron Ballman wrote:
>>
>> Yes, you can do it -- you can call Decl::addAttr to add the attributes
>> to the declaration, and then use Decl::specific_attr_begin and
>> Decl::specific_attr_end to iterate over the attributes of a specific
>> kind on the declaration.
>>
>> Take a look at getVisibilityOf where it attempts to get the
>> AvailabilityAttrs on a Decl if you'd like an example.
>>
>> ~Aaron
>>
>> On Wed, Aug 14, 2013 at 4:00 AM, Vassil Vassilev
>> <vasil.georgiev.vasilev at cern.ch> wrote:
>>>
>>> Hi!
>>>    Maybe a silly question but can two Decls be annotated with the same
>>> Attr
>>> pointer in the AST? Said differently why there is no
>>> clang::Attr::getDecl()
>>>    Thanks!
>>> Vassil
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>



More information about the cfe-dev mailing list