/[eiffelstudio]/branches/eth/eve/Src/framework/code_analysis/ca_code_analyzer.e
ViewVC logotype

Diff of /branches/eth/eve/Src/framework/code_analysis/ca_code_analyzer.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 95202 by jasonw, Fri May 2 11:05:28 2014 UTC revision 95203 by jasonw, Fri May 30 08:05:42 2014 UTC
# Line 126  feature -- Analysis interface Line 126  feature -- Analysis interface
126    
127                          create l_task.make (l_rules_checker, l_rules_to_check, classes_to_analyze, agent analysis_completed)                          create l_task.make (l_rules_checker, l_rules_to_check, classes_to_analyze, agent analysis_completed)
128                          l_task.set_output_actions (output_actions)                          l_task.set_output_actions (output_actions)
129                          rota.run_task (l_task)                          if attached rota as l_rota then
130                                    rota.run_task (l_task)
131                            else
132                                            -- No ROTA task is available, we execute the task synchronously.
133                                    from
134    
135                                    until
136                                            not l_task.has_next_step
137                                    loop
138                                            l_task.step
139                                    end
140                            end
141                  end                  end
142    
143          is_rule_checkable (a_rule: attached CA_RULE): BOOLEAN          is_rule_checkable (a_rule: attached CA_RULE): BOOLEAN
# Line 251  feature {NONE} -- Implementation Line 262  feature {NONE} -- Implementation
262                  local                  local
263                          l_csv_writer: CA_CSV_WRITER                          l_csv_writer: CA_CSV_WRITER
264                  do                  do
265                          create l_csv_writer.make (csv_file_name, csv_header)                          create l_csv_writer.make (eiffel_project.project_location.target_path.extended (csv_file_name), csv_header)
266    
267                          across rules as l_rules loop                          across rules as l_rules loop
268                                  across l_rules.item.violations as l_v loop                                  across l_rules.item.violations as l_v loop
# Line 365  feature {NONE} -- Class-wide Options (Fr Line 376  feature {NONE} -- Class-wide Options (Fr
376                          l_item: STRING_32                          l_item: STRING_32
377                  do                  do
378                          across a_clause as ic loop                          across a_clause as ic loop
379                                  if ic.item.tag.name_32.is_equal ("ca_ignoredby") then                                  if attached ic.item.tag as l_tag then
380                                                  -- Class wants to ignore certain rules.                                          if l_tag.name_32.same_string_general ("ca_ignoredby") then
381                                          across ic.item.index_list as l_list loop                                                          -- Class wants to ignore certain rules.
382                                                  l_item := l_list.item.string_value_32                                                  across ic.item.index_list as l_list loop
383                                                  l_item.prune_all ('%"')                                                          l_item := l_list.item.string_value_32
384                                                  a_ignoredby.extend (l_item)                                                          l_item.prune_all ('%"')
385                                          end                                                          a_ignoredby.extend (l_item)
386                                  elseif ic.item.tag.name_32.is_equal ("ca_library") then                                                  end
387                                                  -- Class has information on whether it is a library class.                                          elseif l_tag.name_32.is_equal ("ca_library") then
388                                          if not ic.item.index_list.is_empty then                                                          -- Class has information on whether it is a library class.
389                                                  l_item := ic.item.index_list.first.string_value_32                                                  if not ic.item.index_list.is_empty then
390                                                  l_item.to_lower                                                          l_item := ic.item.index_list.first.string_value_32
391                                                  l_item.prune_all ('%"')                                                          l_item.to_lower
392                                                  if l_item.is_equal ("true") then                                                          l_item.prune_all ('%"')
393                                                          library_class.force (True, a_class)                                                          if l_item.is_equal ("true") then
394                                                  elseif l_item.is_equal ("false") then                                                                  library_class.force (True, a_class)
395                                                          nonlibrary_class.force (True, a_class)                                                          elseif l_item.is_equal ("false") then
396                                                                    nonlibrary_class.force (True, a_class)
397                                                            end
398                                                  end                                                  end
399                                          end                                          end
400                                  end                                  end

Legend:
Removed from v.95202  
changed lines
  Added in v.95203

  ViewVC Help
Powered by ViewVC 1.1.23