Abstract base class for generalized source information.
For FIRRTL lines from a Scala source line.
For when source info isn't generated because the function is deprecated and we're lazy.
Provides a macro that returns the source information at the invocation point.
For when source info can't be generated because of a technical limitation, like for Reg because Scala macros don't support named or default arguments.