func DumpTypeInfo(info *C.GITypeInfo) { isPointer := C.g_type_info_is_pointer(info) p("is pointer %v\n", isPointer) tag := C.g_type_info_get_tag(info) p("tag %s\n", fromGStr(C.g_type_tag_to_string(tag))) if tag&C.GI_TYPE_TAG_INTERFACE > 0 { iface := C.g_type_info_get_interface(info) _ = iface } if tag&C.GI_TYPE_TAG_ARRAY > 0 { length := C.g_type_info_get_array_length(info) p("array length %d\n", length) fixedSize := C.g_type_info_get_array_fixed_size(info) p("array fixed size %d\n", fixedSize) isZeroTerminated := C.g_type_info_is_zero_terminated(info) p("is zero terminated %v\n", isZeroTerminated) arrayType := C.g_type_info_get_array_type(info) switch arrayType { case C.GI_ARRAY_TYPE_C: p("c array\n") case C.GI_ARRAY_TYPE_ARRAY: p("GArray\n") case C.GI_ARRAY_TYPE_PTR_ARRAY: p("GPtrArray\n") case C.GI_ARRAY_TYPE_BYTE_ARRAY: p("GByteArray\n") } } }
// g_type_info_get_array_length func (ti *TypeInfo) ArrayLength() int { return int(C.g_type_info_get_array_length((*C.GITypeInfo)(ti.c))) }
func (info *GiInfo) GetArrayLength() int { return GoInt(C.g_type_info_get_array_length((*C.GITypeInfo)(info.ptr))) }