本文整理汇总了Golang中github.com/zxh0/jvm/go/jvmgo/rtda/class.Method.ParsedDescriptor方法的典型用法代码示例。如果您正苦于以下问题:Golang Method.ParsedDescriptor方法的具体用法?Golang Method.ParsedDescriptor怎么用?Golang Method.ParsedDescriptor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/zxh0/jvm/go/jvmgo/rtda/class.Method
的用法示例。
在下文中一共展示了Method.ParsedDescriptor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: convertArgs
// Object[] -> []interface{}
func convertArgs(this, argArr *rtc.Obj, method *rtc.Method) []interface{} {
if method.ArgSlotCount() == 0 {
return nil
}
if method.ArgSlotCount() == 1 && !method.IsStatic() {
return []interface{}{this}
}
argObjs := argArr.Refs()
argTypes := method.ParsedDescriptor().ParameterTypes()
args := make([]interface{}, method.ArgSlotCount())
j := 0
if !method.IsStatic() {
args[0] = this
j = 1
}
for i, argType := range argTypes {
argObj := argObjs[i]
if argType.IsBaseType() {
// todo
unboxed := box.Unbox(argObj, argType.Descriptor())
args[i+j] = unboxed
if argType.IsLongOrDouble() {
j++
}
} else {
args[i+j] = argObj
}
}
return args
}