Author: dergachev
Date: Wed Jul  3 13:48:23 2019
New Revision: 365085

URL: http://llvm.org/viewvc/llvm-project?rev=365085&view=rev
Log:
[analyzer] exploded-graph-rewriter: Implement a black-and-white color scheme.

For accessibility!

Differential Revision: https://reviews.llvm.org/D64153

Modified:
    cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot
    cfe/trunk/utils/analyzer/exploded-graph-rewriter.py

Modified: cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot?rev=365085&r1=365084&r2=365085&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot (original)
+++ cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot Wed Jul  3 
13:48:23 2019
@@ -1,6 +1,11 @@
-// RUN: %exploded_graph_rewriter %s | FileCheck %s -check-prefixes=CHECK,LIGHT
-// RUN: %exploded_graph_rewriter %s --dark | FileCheck %s \
-// RUN:                                         -check-prefixes CHECK,DARK
+// RUN: %exploded_graph_rewriter %s \
+// RUN:     | FileCheck %s -check-prefixes=CHECK,LIGHT,COLOR
+// RUN: %exploded_graph_rewriter %s --dark \
+// RUN:     | FileCheck %s -check-prefixes CHECK,DARK,COLOR
+// RUN: %exploded_graph_rewriter %s --gray \
+// RUN:     | FileCheck %s -check-prefixes=CHECK,LIGHT,GRAY
+// RUN: %exploded_graph_rewriter %s --gray --dark \
+// RUN:     | FileCheck %s -check-prefixes CHECK,DARK,GRAY
 
 // FIXME: Substitution doesn't seem to work on Windows.
 // UNSUPPORTED: system-windows
@@ -23,10 +28,12 @@ Node0x1 [shape=record,label=
 
 // CHECK: Node0x2 [
 // CHECK-SAME: <tr><td>
-// CHECK-SAME:   <font color="red"><b>Bug Report Attached</b></font>
+// COLOR-SAME:   <font color="red"><b>Bug Report Attached</b></font>
+// GRAY-SAME:    <b>Bug Report Attached</b>
 // CHECK-SAME: </td></tr>
 // CHECK-SAME: <tr><td>
-// CHECK-SAME:   <font color="cornflowerblue"><b>Sink Node</b></font>
+// COLOR-SAME:   <font color="cornflowerblue"><b>Sink Node</b></font>
+// GRAY-SAME:    <b>Sink Node</b>
 // CHECK-SAME: </td></tr>
 Node0x2 [shape=record,label=
  "{

Modified: cfe/trunk/utils/analyzer/exploded-graph-rewriter.py
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/analyzer/exploded-graph-rewriter.py?rev=365085&r1=365084&r2=365085&view=diff
==============================================================================
--- cfe/trunk/utils/analyzer/exploded-graph-rewriter.py (original)
+++ cfe/trunk/utils/analyzer/exploded-graph-rewriter.py Wed Jul  3 13:48:23 2019
@@ -384,24 +384,28 @@ class ExplodedGraph(object):
 # A visitor that dumps the ExplodedGraph into a DOT file with fancy HTML-based
 # syntax highlighing.
 class DotDumpVisitor(object):
-    def __init__(self, do_diffs, dark_mode):
+    def __init__(self, do_diffs, dark_mode, gray_mode):
         super(DotDumpVisitor, self).__init__()
         self._do_diffs = do_diffs
         self._dark_mode = dark_mode
+        self._gray_mode = gray_mode
 
     @staticmethod
     def _dump_raw(s):
         print(s, end='')
 
-    @staticmethod
-    def _dump(s):
-        print(s.replace('&', '&amp;')
-               .replace('{', '\\{')
-               .replace('}', '\\}')
-               .replace('\\<', '&lt;')
-               .replace('\\>', '&gt;')
-               .replace('\\l', '<br />')
-               .replace('|', '\\|'), end='')
+    def _dump(self, s):
+        s = s.replace('&', '&amp;') \
+             .replace('{', '\\{') \
+             .replace('}', '\\}') \
+             .replace('\\<', '&lt;') \
+             .replace('\\>', '&gt;') \
+             .replace('\\l', '<br />') \
+             .replace('|', '\\|')
+        if self._gray_mode:
+            s = re.sub(r'<font color="[a-z0-9]*">', '', s)
+            s = re.sub(r'</font>', '', s)
+        self._dump_raw(s)
 
     @staticmethod
     def _diff_plus_minus(is_added):
@@ -835,6 +839,9 @@ def main():
     parser.add_argument('--dark', action='store_const', dest='dark',
                         const=True, default=False,
                         help='dark mode')
+    parser.add_argument('--gray', action='store_const', dest='gray',
+                        const=True, default=False,
+                        help='black-and-white mode')
     args = parser.parse_args()
     logging.basicConfig(level=args.loglevel)
 
@@ -845,7 +852,7 @@ def main():
             graph.add_raw_line(raw_line)
 
     explorer = BasicExplorer()
-    visitor = DotDumpVisitor(args.diff, args.dark)
+    visitor = DotDumpVisitor(args.diff, args.dark, args.gray)
     explorer.explore(graph, visitor)
 
 


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to