Adds a NamingContext object as a descendant - where its contained objects will have names prefixed with the name given to the reference object, if the reference object is named in the scope of this context.
Suggest a name (that will be propagated to FIRRTL) for an object, then returns the object itself (so this can be inserted transparently anywhere).
Suggest a name (that will be propagated to FIRRTL) for an object, then returns the object itself (so this can be inserted transparently anywhere). Is a no-op (so safe) when applied on objects that aren't named, including non-Chisel data types.
Gives this context a naming prefix (which may be empty, "", for a top-level Module context) so that actual naming calls (HasId.suggestName) can happen.
Gives this context a naming prefix (which may be empty, "", for a top-level Module context) so that actual naming calls (HasId.suggestName) can happen. Recursively names descendants, for those whose return value have an associated name.
Actual namer functionality.