How to find nodes with a scalar predicate having values found during traversal

I am referring to this piece of code in implementation if eq() function -

// eq(score,val(myscore)), we disallow vars in facets filter so we don't need to worry about
// that as of now.
func (sg *SubGraph) replaceVarInFunc() error {
	if sg.SrcFunc == nil {
		return nil
	}
	var args []gql.Arg
	// Iterate over the args and replace value args with their values
	for _, arg := range sg.SrcFunc.Args {
		if !arg.IsValueVar {
			args = append(args, arg)
			continue
		}
		if len(sg.Params.uidToVal) == 0 {
			return x.Errorf("No value found for value variable %q", arg.Value)
		}
		// We don't care about uids, just take all the values and put as args.
		// There would be only one value var per subgraph as per current assumptions.
		seenArgs := make(map[string]struct{})
		for _, v := range sg.Params.uidToVal {
			data := types.ValueForType(types.StringID)
			if err := types.Marshal(v, &data); err != nil {
				return err
			}
			if _, ok := seenArgs[data.Value.(string)]; ok {
				continue
			}
			args = append(args, gql.Arg{Value: data.Value.(string)})
		}
	}
	sg.SrcFunc.Args = args
	return nil
}
if len(sg.Params.uidToVal) == 0 {
  return x.Errorf("No value found for value variable %q", arg.Value)
}