Package starcgenx is a Static Analysis Type Assertion shim and Registration Code Generator which provides an extractor to extract types from a package, in order to generate approprate shimsr a package so code can be generated for it.
It's written for use by the starcgen tool, but separate to permit alternative "go/importer" Importers for accessing types from imported packages.
Extractor contains and uniquifies the cache of types and things that need to be generated.
NewExtractor returns an extractor for the given package.
Bytes forwards to fmt.Fprint to the extractor buffer.
FromAsts analyses the contents of a package
Generate produces an additional file for the Go package that was extracted, to be included in a subsequent compilation.
NameType turns a reflect.Type into a string based on it's name. It prefixes Emit or Iter if the function satisfies the constrains of those types.
Print forwards to fmt.Fprint to the extractor buffer.
Printf forwards to fmt.Printf to the extractor buffer.
Summary prints out a summary of the shims and registrations to be generated to the buffer.