/[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 93428 by zurfluhs, Tue Nov 19 13:09:13 2013 UTC revision 93475 by zurfluhs, Wed Nov 20 16:09:46 2013 UTC
# Line 19  feature {NONE} -- Initialization Line 19  feature {NONE} -- Initialization
19          make          make
20                          -- Initialization for `Current'.                          -- Initialization for `Current'.
21                  do                  do
22                          create settings                          create settings.make
23                          create rules.make                          create rules.make
24                          -- Adding example rules                          -- Adding example rules
25                          rules.extend (create {CA_SELF_ASSIGNMENT_RULE}.make)                          rules.extend (create {CA_SELF_ASSIGNMENT_RULE}.make)
# Line 30  feature {NONE} -- Initialization Line 30  feature {NONE} -- Initialization
30                          rules.extend (create {CA_CQ_SEPARATION_RULE}.make)                          rules.extend (create {CA_CQ_SEPARATION_RULE}.make)
31                          rules.extend (create {CA_UNNEEDED_OT_LOCAL_RULE}.make)                          rules.extend (create {CA_UNNEEDED_OT_LOCAL_RULE}.make)
32                          rules.extend (create {CA_UNNEEDED_OBJECT_TEST_RULE}.make)                          rules.extend (create {CA_UNNEEDED_OBJECT_TEST_RULE}.make)
33                            rules.extend (create {CA_NESTED_COMPLEXITY_RULE}.make)
34    
35                          -- Issues (contract violations, exceptions) with {EPA_CFG_BUILDER} and                          -- Issues (contract violations, exceptions) with {EPA_CFG_BUILDER} and
36                          -- classes from library 'program_analysis' in general.                          -- classes from library 'program_analysis' in general.
# Line 192  feature -- Properties Line 193  feature -- Properties
193    
194          rule_violations: detachable HASH_TABLE[SORTED_TWO_WAY_LIST[CA_RULE_VIOLATION], CLASS_C]          rule_violations: detachable HASH_TABLE[SORTED_TWO_WAY_LIST[CA_RULE_VIOLATION], CLASS_C]
195    
196            preferences: PREFERENCES
197                    do Result := settings.preferences end
198    
199  feature {NONE} -- Implementation  feature {NONE} -- Implementation
200    
201          analysis_completed          analysis_completed
# Line 265  feature {NONE} -- Class-wide Options (Fr Line 269  feature {NONE} -- Class-wide Options (Fr
269          extract_indexes (a_class: CLASS_C)          extract_indexes (a_class: CLASS_C)
270                  local                  local
271                          l_ast: CLASS_AS                          l_ast: CLASS_AS
272                          l_item: STRING                          l_item: STRING_32
273                          l_ignoredby: LINKED_LIST [STRING]                          l_ignoredby: LINKED_LIST [STRING_32]
274                  do                  do
275                          create l_ignoredby.make                          create l_ignoredby.make
276                          l_ignoredby.compare_objects                          l_ignoredby.compare_objects
# Line 276  feature {NONE} -- Class-wide Options (Fr Line 280  feature {NONE} -- Class-wide Options (Fr
280    
281                          across l_ast.internal_top_indexes as l_indexes loop                          across l_ast.internal_top_indexes as l_indexes loop
282    
283                                  if l_indexes.item.tag.name_8.is_equal ("ca_ignoredby") then                                  if l_indexes.item.tag.name_32.is_equal ("ca_ignoredby") then
284                                          across l_indexes.item.index_list as l_list loop                                          across l_indexes.item.index_list as l_list loop
285                                                  l_item := l_list.item.string_value_32                                                  l_item := l_list.item.string_value_32
286                                                  l_item.prune_all ('%"')                                                  l_item.prune_all ('%"')
287                                                  l_ignoredby.extend (l_item)                                                  l_ignoredby.extend (l_item)
288                                          end                                          end
289                                  elseif l_indexes.item.tag.name_8.is_equal ("ca_library") then                                  elseif l_indexes.item.tag.name_32.is_equal ("ca_library") then
290                                          if not l_indexes.item.index_list.is_empty then                                          if not l_indexes.item.index_list.is_empty then
291                                                  l_item := l_indexes.item.index_list.first.string_value_32                                                  l_item := l_indexes.item.index_list.first.string_value_32
292                                                  l_item.to_lower                                                  l_item.to_lower
# Line 299  feature {NONE} -- Class-wide Options (Fr Line 303  feature {NONE} -- Class-wide Options (Fr
303                          ignoredby.force (l_ignoredby, a_class)                          ignoredby.force (l_ignoredby, a_class)
304                  end                  end
305    
306          ignoredby: HASH_TABLE [LINKED_LIST [STRING], CLASS_C]          ignoredby: HASH_TABLE [LINKED_LIST [STRING_32], CLASS_C]
307    
308          library_class, nonlibrary_class: HASH_TABLE [BOOLEAN, CLASS_C]          library_class, nonlibrary_class: HASH_TABLE [BOOLEAN, CLASS_C]
309    

Legend:
Removed from v.93428  
changed lines
  Added in v.93475

  ViewVC Help
Powered by ViewVC 1.1.23