The type visitors should generate names relative to the current scope.
The generated references however are fully scoped names
Methods Details:
Write some text to the output stream, replacing
's with
's and
indents.
Write the start of an entity, ending with a newline
Write the end of an entity, starting with a newline
Write a single entity on one line (though body may contain
newlines)
entity(
self,
__type,
__body,
* * __params)
Return but do not write the text for an entity on one line
reference takes two strings, a reference (used to look up the symbol and generated the reference),
and the label (used to actually write it)
Stuff common to functions and methods, contructors, destructors