func isUnionOfRefOfCommitType(t *types.Type) bool { if t.Kind() != types.UnionKind { return false } for _, et := range t.Desc.(types.CompoundDesc).ElemTypes { if !isRefOfCommitType(et) { return false } } return true }
func fieldTypeFromCommit(t *types.Type, fieldName string) *types.Type { d.Chk.True(t.Kind() == types.StructKind && t.Desc.(types.StructDesc).Name == "Commit") return t.Desc.(types.StructDesc).Field(fieldName) }
func isRefOfCommitType(t *types.Type) bool { return t.Kind() == types.RefKind && IsCommitType(getRefElementType(t)) }
func getRefElementType(t *types.Type) *types.Type { d.Chk.True(t.Kind() == types.RefKind) return t.Desc.(types.CompoundDesc).ElemTypes[0] }