def _perform(environment)
res = ""
res << @before.perform(environment).to_s if @before
res << " " if @before && @whitespace_before
val = @mid.perform(environment)
if @warn_for_color && val.is_a?(Sass::Script::Value::Color) && val.name
alternative = Operation.new(Sass::Script::Value::String.new("", :string), @mid, :plus)
Sass::Util.sass_warn "WARNING on line \#{line}, column \#{source_range.start_pos.offset}\#{\" of \#{filename}\" if filename}:\nYou probably don't mean to use the color value `\#{val}' in interpolation here.\nIt may end up represented as \#{val.inspect}, which will likely produce invalid CSS.\nAlways quote color names when using them as strings (for example, \"\#{val}\").\nIf you really want to use the color value here, use `\#{alternative.to_sass}'.\n"
end
res << val.to_s(:quote => :none)
res << " " if @after && @whitespace_after
res << @after.perform(environment).to_s if @after
opts(Sass::Script::Value::String.new(res))
end