Lines Matching refs:variable
39 variables []Variable
43 LookupVariable(name string) (Variable, error)
63 func (ps *parseState) pushVariable(v Variable) {
65 // Last push was a variable, we need a blank string separator
69 panic("oops, pushed variable with pending string")
86 // variable names that the string references.
92 variables: make([]Variable, 0, n),
145 // The beginning of a of the variable name. Output the string and
156 // This is a bracketted variable name (e.g. "${blah.blah}"). Output
177 // A part of the variable name. Keep going.
181 // A dollar after the variable name (e.g. "$blah$"). Output the
182 // variable we have and start a new one.
195 // This is the end of the variable name.
209 // We've just gone past the end of the variable name, so record what
226 // A part of the variable name. Keep going.
232 return nil, fmt.Errorf("empty variable name at byte offset %d",
236 // This is the end of the variable name.
247 return nil, fmt.Errorf("unexpected end of string in variable name")
250 // This character isn't allowed in a variable name.
251 return nil, fmt.Errorf("invalid character in variable name at "+
288 func (n *ninjaString) Eval(variables map[Variable]*ninjaString) (string, error) {
291 variable, ok := variables[v]
293 return "", fmt.Errorf("no such global variable: %s", v)
295 value, err := variable.Eval(variables)
353 // the rule's package by defining a new variable, so this doesn't limit