class PrepareCompilerCommandline

Public Class Methods

prepare_for_compile(args) click to toggle source
# File lib/gcc_to_clang_analyzer/prepare_compiler_commandline.rb, line 10
def self.prepare_for_compile(args)
  new_commandline = []
  out = ''

  args.shift
  new_commandline << 'clang'
  new_commandline << '--analyze'

  while args.length > 0
    arg = args.shift
    case arg
    when /-D.*/
      new_commandline << arg
    when /-I.*/
      new_commandline << arg
    when '-c'
    when '-MF'
      args.shift
    when '-MMD'
    when /-W.*/
    when '-o'
      new_commandline << arg
      out = "#{args.shift}.plist"
      new_commandline << out
    else
      new_commandline << arg
    end
  end
  
  return [new_commandline, out]
end
transform(args) click to toggle source
# File lib/gcc_to_clang_analyzer/prepare_compiler_commandline.rb, line 2
def self.transform(args)
  if args.find_index('-c')
    return self.prepare_for_compile(args)
  else
    args[0] = 'true'
    return [args, '']
  end
end