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 |
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 |
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 |