| 4280 | } |
| 4281 | |
| 4282 | ev(env) { |
| 4283 | var i, |
| 4284 | rule, |
| 4285 | ruleset = new CartoCSS.Tree.Ruleset(this.selectors, this.rules.slice(0)); |
| 4286 | ruleset.root = this.root; |
| 4287 | |
| 4288 | // push the current ruleset to the frames stack |
| 4289 | env.frames.unshift(ruleset); |
| 4290 | |
| 4291 | // Evaluate everything else |
| 4292 | for (i = 0, rule; i < ruleset.rules.length; i++) { |
| 4293 | rule = ruleset.rules[i]; |
| 4294 | ruleset.rules[i] = rule.ev ? rule.ev(env) : rule; |
| 4295 | } |
| 4296 | |
| 4297 | // Pop the stack |
| 4298 | env.frames.shift(); |
| 4299 | |
| 4300 | return ruleset; |
| 4301 | } |
| 4302 | |
| 4303 | match(args) { |
| 4304 | return !args || args.length === 0; |