mirror of
https://github.com/foomo/gotsrpc.git
synced 2025-10-16 12:35:35 +00:00
more tracing in servicereader
This commit is contained in:
parent
10ec88ccf0
commit
3d5a709ad2
@ -191,7 +191,17 @@ func loadConstants(pkg *ast.Package) map[string]*ast.BasicLit {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func Read(goPaths []string, packageName string, serviceMap map[string]string) (services ServiceList, structs map[string]*Struct, scalars map[string]*Scalar, constants map[string]map[string]*ast.BasicLit, err error) {
|
func Read(
|
||||||
|
goPaths []string,
|
||||||
|
packageName string,
|
||||||
|
serviceMap map[string]string,
|
||||||
|
) (
|
||||||
|
services ServiceList,
|
||||||
|
structs map[string]*Struct,
|
||||||
|
scalars map[string]*Scalar,
|
||||||
|
constants map[string]map[string]*ast.BasicLit,
|
||||||
|
err error,
|
||||||
|
) {
|
||||||
if len(serviceMap) == 0 {
|
if len(serviceMap) == 0 {
|
||||||
err = errors.New("nothing to do service names are empty")
|
err = errors.New("nothing to do service names are empty")
|
||||||
return
|
return
|
||||||
@ -216,7 +226,7 @@ func Read(goPaths []string, packageName string, serviceMap map[string]string) (s
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
trace("missing")
|
trace("missing")
|
||||||
traceJSON(missingTypes)
|
traceData(missingTypes)
|
||||||
|
|
||||||
structs = map[string]*Struct{}
|
structs = map[string]*Struct{}
|
||||||
scalars = map[string]*Scalar{}
|
scalars = map[string]*Scalar{}
|
||||||
@ -226,15 +236,18 @@ func Read(goPaths []string, packageName string, serviceMap map[string]string) (s
|
|||||||
err = errors.New("error while collecting structs: " + collectErr.Error())
|
err = errors.New("error while collecting structs: " + collectErr.Error())
|
||||||
}
|
}
|
||||||
trace("---------------- found structs -------------------")
|
trace("---------------- found structs -------------------")
|
||||||
traceJSON(structs)
|
traceData(structs)
|
||||||
|
trace("---------------- /found structs -------------------")
|
||||||
trace("---------------- found scalars -------------------")
|
trace("---------------- found scalars -------------------")
|
||||||
traceJSON(scalars)
|
traceData(scalars)
|
||||||
|
trace("---------------- /found scalars -------------------")
|
||||||
constants = map[string]map[string]*ast.BasicLit{}
|
constants = map[string]map[string]*ast.BasicLit{}
|
||||||
for _, structDef := range structs {
|
for _, structDef := range structs {
|
||||||
if structDef != nil {
|
if structDef != nil {
|
||||||
structPackage := structDef.Package
|
structPackage := structDef.Package
|
||||||
_, ok := constants[structPackage]
|
_, ok := constants[structPackage]
|
||||||
if !ok {
|
if !ok {
|
||||||
|
// fmt.Println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", structPackage)
|
||||||
pkg, constPkgErr := parsePackage(goPaths, structPackage)
|
pkg, constPkgErr := parsePackage(goPaths, structPackage)
|
||||||
if constPkgErr != nil {
|
if constPkgErr != nil {
|
||||||
err = constPkgErr
|
err = constPkgErr
|
||||||
@ -253,7 +266,7 @@ func Read(goPaths []string, packageName string, serviceMap map[string]string) (s
|
|||||||
fixFieldStructs(method.Return, structs, scalars)
|
fixFieldStructs(method.Return, structs, scalars)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
traceJSON("---------------------------", services)
|
traceData("---------------------------", services)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -287,6 +300,7 @@ func collectTypes(goPaths []string, missingTypes map[string]bool, structs map[st
|
|||||||
missing = append(missing, name)
|
missing = append(missing, name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// fmt.Println("missing types", len(missingTypes), "missing", len(missing))
|
||||||
return missing
|
return missing
|
||||||
}
|
}
|
||||||
lastNumMissing := len(missingTypeNames())
|
lastNumMissing := len(missingTypeNames())
|
||||||
@ -325,13 +339,13 @@ func collectTypes(goPaths []string, missingTypes map[string]bool, structs map[st
|
|||||||
for scalarName, scalar := range parsedPackageScalars {
|
for scalarName, scalar := range parsedPackageScalars {
|
||||||
trace(" scalar", scalarName, scalar)
|
trace(" scalar", scalarName, scalar)
|
||||||
}
|
}
|
||||||
traceJSON(parsedPackageScalars)
|
traceData(parsedPackageScalars)
|
||||||
packageStructs = parsedPackageStructs
|
packageStructs = parsedPackageStructs
|
||||||
packageScalars = parsedPackageScalars
|
packageScalars = parsedPackageScalars
|
||||||
scannedPackageStructs[packageName] = packageStructs
|
scannedPackageStructs[packageName] = packageStructs
|
||||||
scannedPackageScalars[packageName] = packageScalars
|
scannedPackageScalars[packageName] = packageScalars
|
||||||
}
|
}
|
||||||
traceJSON("packageStructs", packageName, packageStructs)
|
traceData("packageStructs", packageName, packageStructs)
|
||||||
for packageStructName, packageStruct := range packageStructs {
|
for packageStructName, packageStruct := range packageStructs {
|
||||||
missing, needed := missingTypes[packageStructName]
|
missing, needed := missingTypes[packageStructName]
|
||||||
if needed && missing {
|
if needed && missing {
|
||||||
@ -344,7 +358,7 @@ func collectTypes(goPaths []string, missingTypes map[string]bool, structs map[st
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
traceJSON("packageScalars", packageScalars)
|
traceData("packageScalars", packageScalars)
|
||||||
for packageScalarName, packageScalar := range packageScalars {
|
for packageScalarName, packageScalar := range packageScalars {
|
||||||
missing, needed := missingTypes[packageScalarName]
|
missing, needed := missingTypes[packageScalarName]
|
||||||
if needed && missing {
|
if needed && missing {
|
||||||
@ -357,6 +371,19 @@ func collectTypes(goPaths []string, missingTypes map[string]bool, structs map[st
|
|||||||
}
|
}
|
||||||
newNumMissingTypes := len(missingTypeNames())
|
newNumMissingTypes := len(missingTypeNames())
|
||||||
if newNumMissingTypes > 0 && newNumMissingTypes == lastNumMissing {
|
if newNumMissingTypes > 0 && newNumMissingTypes == lastNumMissing {
|
||||||
|
//packageStructs, structOK := scannedPackageStructs[packageName]
|
||||||
|
for scalarName, scalars := range scannedPackageScalars {
|
||||||
|
fmt.Println("scanned scalars ", scalarName)
|
||||||
|
for _, scalar := range scalars {
|
||||||
|
fmt.Println(" ", scalar.Name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for structName, strcts := range scannedPackageStructs {
|
||||||
|
fmt.Println("scanned struct ", structName)
|
||||||
|
for _, strct := range strcts {
|
||||||
|
fmt.Println(" ", strct.Name)
|
||||||
|
}
|
||||||
|
}
|
||||||
return errors.New(fmt.Sprintln("could not resolve at least one of the following types", missingTypeNames()))
|
return errors.New(fmt.Sprintln("could not resolve at least one of the following types", missingTypeNames()))
|
||||||
}
|
}
|
||||||
lastNumMissing = newNumMissingTypes
|
lastNumMissing = newNumMissingTypes
|
||||||
@ -438,7 +465,14 @@ func (st *StructType) FullName() string {
|
|||||||
return fullName
|
return fullName
|
||||||
}
|
}
|
||||||
|
|
||||||
func getTypesInPackage(goPaths []string, packageName string) (structs map[string]*Struct, scalars map[string]*Scalar, err error) {
|
func getTypesInPackage(
|
||||||
|
goPaths []string,
|
||||||
|
packageName string,
|
||||||
|
) (
|
||||||
|
structs map[string]*Struct,
|
||||||
|
scalars map[string]*Scalar,
|
||||||
|
err error,
|
||||||
|
) {
|
||||||
pkg, err := parsePackage(goPaths, packageName)
|
pkg, err := parsePackage(goPaths, packageName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user