• Home
  • Raw
  • Download

Lines Matching refs:v

89 	for _, v := range e {
90 s = append(s, v.String())
96 for _, v := range e {
98 err := v.Eval(w, ev)
108 for _, v := range e {
109 r.Children = append(r.Children, v.serialize())
116 for _, v := range e {
117 v.dump(d)
128 func toExpr(v Value) expr {
129 if v == nil {
132 if e, ok := v.(expr); ok {
135 return expr{v}
144 func (v *varref) String() string {
145 varname := v.varname.String()
146 if len(varname) == 1 && v.paren == 0 {
149 paren := v.paren
156 func (v *varref) Eval(w evalWriter, ev *Evaluator) error {
157 te := traceEvent.begin("var", v, traceEventMain)
159 err := v.varname.Eval(buf, ev)
173 func (v *varref) serialize() serializableVar {
176 V: string(v.paren),
177 Children: []serializableVar{v.varname.serialize()},
180 func (v *varref) dump(d *dumpbuf) {
182 d.Byte(v.paren)
183 v.varname.dump(d)
229 func (v varsubst) String() string {
230 paren := v.paren
234 return fmt.Sprintf("$%c%s:%s=%s%c", paren, v.varname, v.pat, v.subst, closeParen(paren))
237 func (v varsubst) Eval(w evalWriter, ev *Evaluator) error {
238 te := traceEvent.begin("varsubst", v, traceEventMain)
240 params, err := ev.args(buf, v.varname, v.pat, v.subst)
267 func (v varsubst) serialize() serializableVar {
270 V: string(v.paren),
272 v.varname.serialize(),
273 v.pat.serialize(),
274 v.subst.serialize(),
279 func (v varsubst) dump(d *dumpbuf) {
281 d.Byte(v.paren)
282 v.varname.dump(d)
283 v.pat.dump(d)
284 v.subst.dump(d)
301 switch v := exp[len(exp)-1].(type) {
303 v += literal(string(buf))
304 exp[len(exp)-1] = v
307 v = append(v, buf...)
308 exp[len(exp)-1] = v
314 func valueNum(v Value) (int, error) {
315 switch v := v.(type) {
317 n, err := strconv.ParseInt(v.String(), 10, 64)
368 v, n, err := parseDollar(in[i:], op.alloc)
374 exp = append(exp, v)
545 func trimLiteralSpace(v Value) Value {
546 switch v := v.(type) {
548 return literal(strings.TrimSpace(string(v)))
550 b := bytes.TrimSpace([]byte(v))
556 if len(v) == 0 {
557 return v
559 switch s := v[0].(type) {
563 v = v[1:]
565 v[0] = t
568 switch s := v[len(v)-1].(type) {
572 v = v[:len(v)-1]
574 v[len(v)-1] = t
577 return compactExpr(v)
579 return v
584 func concatLine(v Value) Value {
585 switch v := v.(type) {
588 s := string(v)
591 return v
593 v = literal(s[:i] + strings.TrimLeft(s[i+2:], " \t"))
597 b := []byte(v)
600 return v
605 v = tmpval(buf.Bytes())
608 for i := range v {
609 switch vv := v[i].(type) {
611 v[i] = concatLine(vv)
614 return v
616 return v
638 v, n, err := parseExpr(in[i:], term, op)
645 v = concatLine(v)
648 v = trimLiteralSpace(v)
650 f.AddArg(v)