Golang debug-gosym.Sym类(方法)实例源码

下面列出了Golang debug-gosym.Sym 类(方法)源码代码实例,从而了解它的用法。

作者:rainycap    项目:gondol   
func fieldRepr(s *gosym.Sym, typ reflect.Type, values []string, _html bool) (string, bool) {
	name := s.BaseName()
	repr := valRepr(s, typ, values, _html)
	if repr == "" {
		return "", false
	}
	return fmt.Sprintf("%s %s %s", name, typ, repr), true
}

作者:vorne    项目:delv   
func (spec *FuncLocationSpec) Match(sym *gosym.Sym) bool {
	if spec.BaseName != sym.BaseName() {
		return false
	}

	recv := stripReceiverDecoration(sym.ReceiverName())
	if spec.ReceiverName != "" && spec.ReceiverName != recv {
		return false
	}
	if spec.PackageName != "" {
		if spec.AbsolutePackage {
			if spec.PackageName != sym.PackageName() {
				return false
			}
		} else {
			if !partialPathMatch(spec.PackageName, sym.PackageName()) {
				return false
			}
		}
	}
	if spec.PackageOrReceiverName != "" && !partialPathMatch(spec.PackageOrReceiverName, sym.PackageName()) && spec.PackageOrReceiverName != recv {
		return false
	}
	return true
}

作者:jonboull    项目:delv   
func (spec *FuncLocationSpec) Match(sym *gosym.Sym) bool {
	if spec.BaseName != sym.BaseName() {
		return false
	}

	recv := stripReceiverDecoration(sym.ReceiverName())
	if spec.ReceiverName != "" && spec.ReceiverName != recv {
		return false
	}
	if spec.PackageName != "" && spec.PackageName != sym.PackageName() {
		return false
	}
	if spec.PackageOrReceiverName != "" && spec.PackageOrReceiverName != sym.PackageName() && spec.PackageOrReceiverName != recv {
		return false
	}
	return true
}


问题


面经


文章

微信
公众号

扫码关注公众号