Exemplo n.º 1
0
// computeMemberSignature computes a type signature for the given type member.
// Note that the signature format (except for type references) is internal to
// this method and can be changed at any time.
func computeMemberSignature(member typegraph.TGMember) memberSignature {
	kind := member.Signature().MemberKind

	// Signature form: "MemberName|MemberTypeInt|MemberTypeReference"
	var buf bytes.Buffer
	buf.WriteRune('"')
	buf.WriteString(member.Name())
	buf.WriteRune('|')
	buf.WriteString(strconv.Itoa(int(*kind)))
	buf.WriteRune('|')

	dynamic := appendSigReference(member.MemberType(), &buf)

	buf.WriteRune('"')
	return memberSignature{buf.String(), dynamic}
}