func (r *SchemaResolver) Types() []*TypeResolver {
	res := make([]*TypeResolver, len(r.NamedTypes))
	i := 0
	for _, typ := range r.NamedTypes {
		res[i] = &TypeResolver{
			AST:    typ,
			Lookup: r.Lookup,
		}
		i++
	}
	return res
}
Types finds all named types on the schema.
package introspect
import (
	"reflect"
	"strings"
	"github.com/graphql-go/graphql/language/ast"
)
type ASTLookup interface {
	LookupType(ast.Type) ast.TypeDefinition
}
type ObjectResolver struct {
	Lookup         ASTLookup
	AST            *ast.ObjectDefinition
	SchemaResolver *SchemaResolver
}
func (sr *ObjectResolver) Schema() *SchemaResolver {
	return sr.SchemaResolver
}
func (sr *ObjectResolver) Type() *TypeResolver {
	return &TypeResolver{
		Lookup: sr.Lookup,
		AST:    sr.AST,
	}
}
type SchemaResolver struct {
	Lookup    ASTLookup
	RootQuery ast.TypeDefinition
	NamedTypes map[string]ast.TypeDefinition
}
func (r *SchemaResolver) QueryType() *TypeResolver {
	if r.RootQuery == nil {
		return nil
	}
	return &TypeResolver{
		Lookup: r.Lookup,
		AST:    r.RootQuery,
	}
}
func (r *SchemaResolver) Directives() []*DirectiveResolver {
	return []*DirectiveResolver{}
}