Class: ASAutotest::CompilationResult

Inherits:
Object
  • Object
show all
Defined in:
lib/asautotest/compilation-result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCompilationResult

Returns a new instance of CompilationResult.



27
28
29
30
31
32
# File 'lib/asautotest/compilation-result.rb', line 27

def initialize
  @problematic_files = {}
  @n_recompiled_files = nil
  @unrecognized_lines = []
  @summaries = []
end

Instance Attribute Details

#n_recompiled_filesObject (readonly)

Returns the value of attribute n_recompiled_files.



22
23
24
# File 'lib/asautotest/compilation-result.rb', line 22

def n_recompiled_files
  @n_recompiled_files
end

#problematic_filesObject (readonly)

Returns the value of attribute problematic_files.



23
24
25
# File 'lib/asautotest/compilation-result.rb', line 23

def problematic_files
  @problematic_files
end

#summariesObject (readonly)

Returns the value of attribute summaries.



25
26
27
# File 'lib/asautotest/compilation-result.rb', line 25

def summaries
  @summaries
end

#unrecognized_linesObject (readonly)

Returns the value of attribute unrecognized_lines.



24
25
26
# File 'lib/asautotest/compilation-result.rb', line 24

def unrecognized_lines
  @unrecognized_lines
end

Instance Method Details

#add_problem(file_name, problem) ⇒ Object



40
41
42
43
# File 'lib/asautotest/compilation-result.rb', line 40

def add_problem(file_name, problem)
  get_problematic_file(file_name) << problem unless
    @typing == :dynamic and problem.type_warning?
end

#add_summary(summary) ⇒ Object



60
61
62
# File 'lib/asautotest/compilation-result.rb', line 60

def add_summary(summary)
  @summaries << summary
end

#add_unrecognized_line(line) ⇒ Object




56
57
58
# File 'lib/asautotest/compilation-result.rb', line 56

def add_unrecognized_line(line)
  @unrecognized_lines << line
end

#any_type_warnings?Boolean


Returns:

  • (Boolean)


66
67
68
# File 'lib/asautotest/compilation-result.rb', line 66

def any_type_warnings?
  @problematic_files.values.any? &:any_type_warnings?
end

#bootstrap?Boolean

Returns:

  • (Boolean)


86
87
88
# File 'lib/asautotest/compilation-result.rb', line 86

def bootstrap?
  @summaries.all? { |x| x[:n_recompiled_files] == nil }
end

#did_anything?Boolean

Returns:

  • (Boolean)


98
99
100
# File 'lib/asautotest/compilation-result.rb', line 98

def did_anything?
  bootstrap? or n_recompiled_files > 0
end

#failed?Boolean

Returns:

  • (Boolean)


82
83
84
# File 'lib/asautotest/compilation-result.rb', line 82

def failed?
  not successful?
end

#get_problematic_file(file_name) ⇒ Object



45
46
47
48
49
50
51
52
# File 'lib/asautotest/compilation-result.rb', line 45

def get_problematic_file(file_name)
  if @problematic_files.include? file_name
    @problematic_files[file_name]
  else
    @problematic_files[file_name] =
      ProblematicFile.new(file_name, @source_directories)
  end
end

#n_problematic_filesObject



74
75
76
# File 'lib/asautotest/compilation-result.rb', line 74

def n_problematic_files
  @problematic_files.values.size
end

#n_problemsObject



78
79
80
# File 'lib/asautotest/compilation-result.rb', line 78

def n_problems
  @problematic_files.values.inject(0) { |a, x| a + x.n_problems }
end

#recompilation?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/asautotest/compilation-result.rb', line 94

def recompilation?
  not bootstrap?
end

#source_directories=(value) ⇒ Object




36
37
38
# File 'lib/asautotest/compilation-result.rb', line 36

def source_directories= value
  @source_directories = value
end

#successful?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/asautotest/compilation-result.rb', line 70

def successful?
  @summaries.all? { |x| x[:successful?] }
end