/[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 93332 by zurfluhs, Sun Nov 10 22:44:12 2013 UTC revision 93333 by zurfluhs, Tue Nov 12 22:48:07 2013 UTC
# Line 34  feature {NONE} -- Initialization Line 34  feature {NONE} -- Initialization
34    
35                          create classes_to_analyze.make                          create classes_to_analyze.make
36                          create rule_violations.make (100)                          create rule_violations.make (100)
37                            create completed_actions
38                  end                  end
39    
40  feature -- Analysis interface  feature -- Analysis interface
41    
42            add_completed_action (a_action: PROCEDURE [ANY, TUPLE [BOOLEAN] ])
43                    do
44                            completed_actions.extend (a_action)
45                    end
46    
47          analyze          analyze
48                    require
49                            not is_running
50                  local                  local
51                          l_rules_checker: CA_ALL_RULES_CHECKER                          l_rules_checker: CA_ALL_RULES_CHECKER
52                  do                  do
53                            is_running := True
54    
55                          create l_rules_checker.make                          create l_rules_checker.make
56                          across rules as l_rules loop                          across rules as l_rules loop
57                                  if l_rules.item.is_enabled then -- important: only add enabled rules                                  if l_rules.item.is_enabled then -- important: only add enabled rules
# Line 79  feature -- Analysis interface Line 89  feature -- Analysis interface
89                          end                          end
90    
91                          clear_classes_to_analyze                          clear_classes_to_analyze
92    
93                            is_running := False
94                            completed_actions.call ([True])
95                            completed_actions.wipe_out
96                  ensure                  ensure
97                          violation_list_exists: analysis_successful implies rule_violations /= Void                          violation_list_exists: analysis_successful implies rule_violations /= Void
98                            not is_running
99                  end                  end
100    
101          clear_classes_to_analyze          clear_classes_to_analyze
# Line 139  feature -- Analysis interface Line 154  feature -- Analysis interface
154                          end                          end
155                  end                  end
156    
157            add_group (a_group: CONF_GROUP)
158                    require
159                            a_group_not_void: a_group /= Void
160                    local
161                            l_conf_class: CONF_CLASS
162                            l_class_i: CLASS_I
163                    do
164                            from
165                                    a_group.classes.start
166                            until
167                                    a_group.classes.after
168                            loop
169                                    l_conf_class := a_group.classes.item_for_iteration
170                                    l_class_i := eiffel_universe.class_named (l_conf_class.name, a_group)
171                                    add_class (l_class_i)
172                                    a_group.classes.forth
173                            end
174                    end
175    
176          add_classes (a_classes: ITERABLE[CLASS_I])          add_classes (a_classes: ITERABLE[CLASS_I])
177                  do                  do
178                          system_wide_check := False                          system_wide_check := False
# Line 165  feature -- Analysis interface Line 199  feature -- Analysis interface
199    
200  feature -- Properties  feature -- Properties
201    
202            is_running: BOOLEAN
203    
204          analysis_successful: BOOLEAN          analysis_successful: BOOLEAN
205    
206          rules: LINKED_LIST[CA_RULE]          rules: LINKED_LIST[CA_RULE]
# Line 179  feature {NONE} -- Implementation Line 215  feature {NONE} -- Implementation
215    
216          system_wide_check: BOOLEAN          system_wide_check: BOOLEAN
217    
218            completed_actions: ACTION_SEQUENCE [ TUPLE [BOOLEAN] ]
219    
220  end  end

Legend:
Removed from v.93332  
changed lines
  Added in v.93333

  ViewVC Help
Powered by ViewVC 1.1.23