CIRCT 20.0.0git
|
This class provides a read-only projection of an annotation. More...
#include <FIRRTLAnnotations.h>
Classes | |
struct | ClassIsa |
Helper struct to perform variadic class equality check. More... | |
Public Types | |
using | iterator = llvm::ArrayRef< NamedAttribute >::iterator |
Public Member Functions | |
Annotation ()=default | |
Annotation (Attribute attr) | |
Annotation (Annotation anno, uint64_t fieldID) | |
DictionaryAttr | getDict () const |
Get the data dictionary of this attribute. | |
void | setDict (DictionaryAttr dict) |
Set the data dictionary of this attribute. | |
unsigned | getFieldID () const |
Get the field id this attribute targets. | |
Attribute | getAttr () const |
Get the underlying attribute. | |
StringAttr | getClassAttr () const |
Return the 'class' that this annotation is representing. | |
StringRef | getClass () const |
Return the 'class' that this annotation is representing. | |
template<typename... Args> | |
bool | isClass (Args... names) const |
Return true if this annotation matches any of the specified class names. | |
template<typename AttrClass = Attribute> | |
AttrClass | getMember (StringAttr name) const |
Return a member of the annotation. | |
template<typename AttrClass = Attribute> | |
AttrClass | getMember (StringRef name) const |
void | setMember (StringAttr name, Attribute value) |
Add or set a member of the annotation to a value. | |
void | setMember (StringRef name, Attribute value) |
void | removeMember (StringAttr name) |
Remove a member of the annotation. | |
void | removeMember (StringRef name) |
iterator | begin () const |
iterator | end () const |
bool | operator== (const Annotation &other) const |
bool | operator!= (const Annotation &other) const |
operator bool () const | |
bool | operator! () const |
void | dump () |
Private Attributes | |
Attribute | attr |
This class provides a read-only projection of an annotation.
Definition at line 47 of file FIRRTLAnnotations.h.
using circt::firrtl::Annotation::iterator = llvm::ArrayRef<NamedAttribute>::iterator |
Definition at line 108 of file FIRRTLAnnotations.h.
|
default |
|
inlineexplicit |
Definition at line 51 of file FIRRTLAnnotations.h.
|
inline |
Definition at line 56 of file FIRRTLAnnotations.h.
References attr, getMember(), removeMember(), and setMember().
|
inline |
Definition at line 109 of file FIRRTLAnnotations.h.
References getDict().
Referenced by Deduper::makeAnnotationNonLocal().
void Annotation::dump | ( | ) |
Definition at line 431 of file FIRRTLAnnotations.cpp.
References attr.
|
inline |
Definition at line 110 of file FIRRTLAnnotations.h.
References getDict().
Referenced by Deduper::makeAnnotationNonLocal().
|
inline |
Get the underlying attribute.
Definition at line 78 of file FIRRTLAnnotations.h.
References attr.
Referenced by llvm::PointerLikeTypeTraits< circt::firrtl::Annotation >::getAsVoidPointer(), and llvm::DenseMapInfo< circt::firrtl::Annotation >::getHashValue().
StringRef Annotation::getClass | ( | ) | const |
Return the 'class' that this annotation is representing.
Definition at line 363 of file FIRRTLAnnotations.cpp.
References getClassAttr().
Referenced by circt::firrtl::applyWithoutTargetImpl(), circt::firrtl::AnnotationSet::removeAnnotation(), and circt::firrtl::AnnotationSet::removeAnnotations().
StringAttr Annotation::getClassAttr | ( | ) | const |
Return the 'class' that this annotation is representing.
Definition at line 358 of file FIRRTLAnnotations.cpp.
References getDict().
Referenced by getClass(), and isClass().
DictionaryAttr Annotation::getDict | ( | ) | const |
Get the data dictionary of this attribute.
Definition at line 345 of file FIRRTLAnnotations.cpp.
References attr.
Referenced by begin(), cloneMemWithNewType(), end(), getClassAttr(), getMember(), getMember(), circt::firrtl::AnnotationSet::removeAnnotation(), removeMember(), removeMember(), and setMember().
unsigned Annotation::getFieldID | ( | ) | const |
Get the field id this attribute targets.
Definition at line 351 of file FIRRTLAnnotations.cpp.
Referenced by cloneMemWithNewType(), and ResolveTracesPass::updateTargetImpl().
|
inline |
Return a member of the annotation.
Definition at line 92 of file FIRRTLAnnotations.h.
References getDict().
Referenced by Annotation(), circt::firrtl::applyWithoutTargetImpl(), removeAnnotationWithFilename(), ResolveTracesPass::updateModuleTarget(), and ResolveTracesPass::updateTargetImpl().
|
inline |
Definition at line 96 of file FIRRTLAnnotations.h.
References getDict().
|
inline |
Return true if this annotation matches any of the specified class names.
Definition at line 86 of file FIRRTLAnnotations.h.
References getClassAttr().
Referenced by isAnnoInteresting(), circt::firrtl::AnnotationSet::removeAnnotationsWithClass(), removeAnnotationWithFilename(), and ResolveTracesPass::runOnOperation().
|
inlineexplicit |
Definition at line 114 of file FIRRTLAnnotations.h.
References attr.
|
inline |
Definition at line 115 of file FIRRTLAnnotations.h.
References attr.
|
inline |
Definition at line 113 of file FIRRTLAnnotations.h.
|
inline |
Definition at line 112 of file FIRRTLAnnotations.h.
References attr.
void Annotation::removeMember | ( | StringAttr | name | ) |
Remove a member of the annotation.
Definition at line 394 of file FIRRTLAnnotations.cpp.
References getDict(), and setDict().
Referenced by Annotation().
void Annotation::removeMember | ( | StringRef | name | ) |
Definition at line 411 of file FIRRTLAnnotations.cpp.
void Annotation::setDict | ( | DictionaryAttr | dict | ) |
Set the data dictionary of this attribute.
Definition at line 349 of file FIRRTLAnnotations.cpp.
References attr.
Referenced by Deduper::cloneAnnotation(), removeMember(), removeMember(), and setMember().
void Annotation::setMember | ( | StringAttr | name, |
Attribute | value | ||
) |
Add or set a member of the annotation to a value.
Definition at line 369 of file FIRRTLAnnotations.cpp.
References setMember().
Referenced by Annotation(), cloneMemWithNewType(), and setMember().
void Annotation::setMember | ( | StringRef | name, |
Attribute | value | ||
) |
Definition at line 373 of file FIRRTLAnnotations.cpp.
|
private |
Definition at line 120 of file FIRRTLAnnotations.h.
Referenced by Annotation(), Annotation(), dump(), getAttr(), getDict(), operator bool(), operator!(), operator==(), and setDict().