12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- //go:build !go1.18
- // +build !go1.18
- package swag
- import (
- "fmt"
- "github.com/go-openapi/spec"
- "go/ast"
- )
- type genericTypeSpec struct {
- ArrayDepth int
- TypeSpec *TypeSpecDef
- Name string
- }
- func typeSpecFullName(typeSpecDef *TypeSpecDef) string {
- return typeSpecDef.FullName()
- }
- func (pkgDefs *PackagesDefinitions) parametrizeGenericType(file *ast.File, original *TypeSpecDef, fullGenericForm string, parseDependency bool) *TypeSpecDef {
- return original
- }
- func getGenericFieldType(file *ast.File, field ast.Expr, genericParamTypeDefs map[string]*genericTypeSpec) (string, error) {
- return "", fmt.Errorf("unknown field type %#v", field)
- }
- func (parser *Parser) parseGenericTypeExpr(file *ast.File, typeExpr ast.Expr) (*spec.Schema, error) {
- switch typeExpr.(type) {
- // suppress debug messages for these types
- case *ast.InterfaceType:
- case *ast.StructType:
- case *ast.Ident:
- case *ast.StarExpr:
- case *ast.SelectorExpr:
- case *ast.ArrayType:
- case *ast.MapType:
- case *ast.FuncType:
- default:
- parser.debug.Printf("Type definition of type '%T' is not supported yet. Using 'object' instead.\n", typeExpr)
- }
- return PrimitiveSchema(OBJECT), nil
- }
|