NoQ created this revision.
NoQ added a reviewer: Charusso.
Herald added subscribers: cfe-commits, dkrupp, donat.nagy, Szelethus, 
mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun.
Herald added a project: clang.

Even though this code is not duplicated yet, follow-up patches will demonstrate 
that it's a nicer way to structure this code.


Repository:
  rC Clang

https://reviews.llvm.org/D63684

Files:
  clang/utils/analyzer/exploded-graph-rewriter.py


Index: clang/utils/analyzer/exploded-graph-rewriter.py
===================================================================
--- clang/utils/analyzer/exploded-graph-rewriter.py
+++ clang/utils/analyzer/exploded-graph-rewriter.py
@@ -410,6 +410,24 @@
 
         self._dump('</table>')
 
+    def visit_environment_in_state(self, s, prev_s=None):
+        self._dump('<tr><td align="left">'
+                   '<b>Environment: </b>')
+        if s.environment is None:
+            self._dump('<i> Nothing!</i>')
+        else:
+            if prev_s is not None and prev_s.environment is not None:
+                if s.environment.is_different(prev_s.environment):
+                    self._dump('</td></tr><tr><td align="left">')
+                    self.visit_environment(s.environment, prev_s.environment)
+                else:
+                    self._dump('<i> No changes!</i>')
+            else:
+                self._dump('</td></tr><tr><td align="left">')
+                self.visit_environment(s.environment)
+
+        self._dump('</td></tr>')
+
     def visit_store(self, s, prev_s=None):
         self._dump('<table border="0">')
 
@@ -448,8 +466,7 @@
 
         self._dump('</table>')
 
-    def visit_state(self, s, prev_s):
-        # == Store ==
+    def visit_store_in_state(self, s, prev_s=None):
         self._dump('<tr><td align="left"><b>Store: </b>')
         if s.store is None:
             self._dump('<i> Nothing!</i>')
@@ -465,23 +482,9 @@
                 self.visit_store(s.store)
         self._dump('</td></tr><hr />')
 
-        # == Environment ==
-        self._dump('<tr><td align="left">'
-                   '<b>Environment: </b>')
-        if s.environment is None:
-            self._dump('<i> Nothing!</i>')
-        else:
-            if prev_s is not None and prev_s.environment is not None:
-                if s.environment.is_different(prev_s.environment):
-                    self._dump('</td></tr><tr><td align="left">')
-                    self.visit_environment(s.environment, prev_s.environment)
-                else:
-                    self._dump('<i> No changes!</i>')
-            else:
-                self._dump('</td></tr><tr><td align="left">')
-                self.visit_environment(s.environment)
-
-        self._dump('</td></tr>')
+    def visit_state(self, s, prev_s):
+        self.visit_store_in_state(s, prev_s)
+        self.visit_environment_in_state(s, prev_s)
 
     def visit_node(self, node):
         self._dump('%s [shape=record,label=<<table border="0">'


Index: clang/utils/analyzer/exploded-graph-rewriter.py
===================================================================
--- clang/utils/analyzer/exploded-graph-rewriter.py
+++ clang/utils/analyzer/exploded-graph-rewriter.py
@@ -410,6 +410,24 @@
 
         self._dump('</table>')
 
+    def visit_environment_in_state(self, s, prev_s=None):
+        self._dump('<tr><td align="left">'
+                   '<b>Environment: </b>')
+        if s.environment is None:
+            self._dump('<i> Nothing!</i>')
+        else:
+            if prev_s is not None and prev_s.environment is not None:
+                if s.environment.is_different(prev_s.environment):
+                    self._dump('</td></tr><tr><td align="left">')
+                    self.visit_environment(s.environment, prev_s.environment)
+                else:
+                    self._dump('<i> No changes!</i>')
+            else:
+                self._dump('</td></tr><tr><td align="left">')
+                self.visit_environment(s.environment)
+
+        self._dump('</td></tr>')
+
     def visit_store(self, s, prev_s=None):
         self._dump('<table border="0">')
 
@@ -448,8 +466,7 @@
 
         self._dump('</table>')
 
-    def visit_state(self, s, prev_s):
-        # == Store ==
+    def visit_store_in_state(self, s, prev_s=None):
         self._dump('<tr><td align="left"><b>Store: </b>')
         if s.store is None:
             self._dump('<i> Nothing!</i>')
@@ -465,23 +482,9 @@
                 self.visit_store(s.store)
         self._dump('</td></tr><hr />')
 
-        # == Environment ==
-        self._dump('<tr><td align="left">'
-                   '<b>Environment: </b>')
-        if s.environment is None:
-            self._dump('<i> Nothing!</i>')
-        else:
-            if prev_s is not None and prev_s.environment is not None:
-                if s.environment.is_different(prev_s.environment):
-                    self._dump('</td></tr><tr><td align="left">')
-                    self.visit_environment(s.environment, prev_s.environment)
-                else:
-                    self._dump('<i> No changes!</i>')
-            else:
-                self._dump('</td></tr><tr><td align="left">')
-                self.visit_environment(s.environment)
-
-        self._dump('</td></tr>')
+    def visit_state(self, s, prev_s):
+        self.visit_store_in_state(s, prev_s)
+        self.visit_environment_in_state(s, prev_s)
 
     def visit_node(self, node):
         self._dump('%s [shape=record,label=<<table border="0">'
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to