Yes, you should be able to safely use that. AFAIK, the semantics for
it are exactly as you describe -- whether the attribute was written
for the declaration, or inherited. All of the attribute inheritance
happens from mergeDeclAttribute (or something called from there).