Merge pull request #31942 from smarterclayton/debug_conversion

Automatic merge from submit-queue

Make it easier to debug conversion mismatches

@thockin made finding mismatches easier
This commit is contained in:
Kubernetes Submit Queue 2016-09-04 00:01:34 -07:00 committed by GitHub
commit 7dfbd8f8db

View File

@ -359,6 +359,7 @@ func isDirectlyConvertible(in, out *types.Type, manualConversions conversionFunc
// Check if there is an out member with that name. // Check if there is an out member with that name.
outMember, found := findMember(out, inMember.Name) outMember, found := findMember(out, inMember.Name)
if !found { if !found {
glog.V(5).Infof("%s.%s is not directly convertible to %s because the destination struct field did not exist", in.Name, inMember.Name, out.Name)
return false return false
} }
convertible = convertible && isConvertible(inMember.Type, outMember.Type, manualConversions) convertible = convertible && isConvertible(inMember.Type, outMember.Type, manualConversions)
@ -577,7 +578,11 @@ func (g *genConversion) GenerateType(c *generator.Context, t *types.Type, w io.W
g.generateConversion(peerType, t, sw) g.generateConversion(peerType, t, sw)
} }
if didForward != didBackward { if didForward != didBackward {
glog.Fatalf("Could only generate one direction of conversion for %v <-> %v", t, peerType) if didForward {
glog.Fatalf("Could only generate one direction of conversion for %v -> %v", t, peerType)
} else {
glog.Fatalf("Could only generate one direction of conversion for %v <- %v", t, peerType)
}
} }
if !didForward && !didBackward { if !didForward && !didBackward {
// TODO: This should be fatal but we have at least 8 types that // TODO: This should be fatal but we have at least 8 types that