code: func (w *Wrapper) PrintStructure(writer io.Writer) {
  	if !w.initCalled {
  		fmt.Fprintln(writer, "[Not initialized]")
  		return
  	}
  	// Debugging output.
  	fmt.Fprintln(writer, "> Structure:")
  	for _, pkg := range w.packagesInOrder() {
  		fmt.Fprintf(writer, "> %v\n", pkg.ComputedPackage)
  		fmt.Fprintln(writer, ">   files:")
  		for _, file := range pkg.Files {
  			fmt.Fprintf(writer, ">     %v (%v)\n", file.Name, file.FullPath)
  		}
  		fmt.Fprintln(writer, ">   deps:")
  		for _, file := range pkg.Deps {
  			if file.FullPath != "" {
  				fmt.Fprintf(writer, ">     %v (%v)\n", file.Name, file.FullPath)
  			} else {
  				fmt.Fprintf(writer, ">     %v\n", file.Name)
  			}
  		}
  	}
  }
docs: // PrintStructure dumps out the computed structure to the given
  // io.Writer.