public function evaluateParameters(array $params, Context $ctx) { $ret = []; foreach ($params as $value) { if ($value instanceof Ast\NumericParameter) { if (strpos($value->value, '.') === false) { $ret[$value->key] = intval($value->value); } else { $ret[$value->key] = floatval($value->value); } } elseif ($value instanceof Ast\IdentifierParameter) { $ret[$value->key] = $ctx->resolve($value->value); } else { //we just set this as the actual AST since it is resolved where it's emitted $ret[$value->key] = $value->value; } } return $ret; }