handle_output

in lib/cc/analyzer/engine.rb [55:70]


      def handle_output(container, io, raw_output)
        output = EngineOutput.new(name, raw_output)

        return if output_filter.filter?(output)

        unless output.valid?
          self.error = Error.new("engine produced invalid output: #{output.error}")
          container.stop("output invalid")
        end

        unless io.write(output_overrider.apply(output).to_json)
          self.error = Error.new("#{io.class}#write returned false, indicating an error")
          container.stop("output error")
        end
      end