class Daedalus::DependencyGrapher

Constants

DEV_NULL

Attributes

defines[RW]
directories[RW]
file_names[RW]
sources[R]
system_defines[RW]

Public Class Methods

new(cc, files, directories=[], defines=nil) click to toggle source
    # File lib/daedalus/dependency_grapher.rb
466 def initialize(cc, files, directories=[], defines=nil)
467   @cc = cc
468   @file_names = files
469   @directories = directories
470   @defines = defines
471 
472   @system_defines = {}
473   @sources = []
474 end

Public Instance Methods

get_system_defines() click to toggle source
    # File lib/daedalus/dependency_grapher.rb
476 def get_system_defines
477   lines = `#{@cc} -dM -E #{@defines} - < #{DEV_NULL}`.split("\n")
478 
479   source = SourceFile.new "sytem_defines", self
480   parser = FileParser.new source, @directories
481   parser.parse lines
482 
483   source.execute @system_defines
484 end
print_dependencies(out, max=72) click to toggle source
process() click to toggle source
    # File lib/daedalus/dependency_grapher.rb
486 def process
487   get_system_defines
488 
489   @file_names.each do |name|
490     source = SourceFile.new name, self
491     parser = FileParser.new source, @directories
492 
493     parser.parse_file name
494     source.execute @system_defines.dup
495     source.collect_dependencies
496 
497     @sources << source
498   end
499 end