[opt-viewer] Convert another HTML output to use a multiline string
authorAdam Nemet <anemet@apple.com>
Tue, 11 Oct 2016 16:19:06 +0000 (16:19 +0000)
committerAdam Nemet <anemet@apple.com>
Tue, 11 Oct 2016 16:19:06 +0000 (16:19 +0000)
llvm-svn: 283896

llvm/utils/opt-viewer/opt-viewer.py

index edfef85..7fd9360 100755 (executable)
@@ -36,10 +36,16 @@ class Remark(yaml.YAMLObject):
     def Column(self):
         return self.DebugLoc['Column']
 
-    def getDebugLoc(self):
+    @property
+    def DebugLocString(self):
         return "{}:{}:{}".format(self.File, self.Line, self.Column)
 
-    def getLink(self):
+    @property
+    def DemangledFunctionName(self):
+        return demangle(self.Function)
+
+    @property
+    def Link(self):
         return "{}#L{}".format(SourceFileRenderer.html_file_name(self.File), self.Line)
 
     def getArgString(self, pair):
@@ -133,14 +139,14 @@ class IndexRenderer:
     def __init__(self):
         self.stream = open(os.path.join(args.output_dir, 'index.html'), 'w')
 
-    def render_entry(self, remark):
-        html = SourceFileRenderer.html_file_name(remark.File)
-        link = "<a href={}>{}</a>".format(remark.getLink(), remark.getDebugLoc())
-
-        dem_name = demangle(remark.Function)
-        print("<tr><td>{}<td>{}<td>{}<td class=\"column-entry-{}\">{}</tr>".format(
-            link,
-            remark.Hotness, dem_name, remark.color, remark.Pass), file=self.stream)
+    def render_entry(self, r):
+        print('''
+<tr>
+<td><a href={r.Link}>{r.DebugLocString}</a></td>
+<td>{r.Hotness}%</td>
+<td>{r.DemangledFunctionName}</td>
+<td class=\"column-entry-{r.color}\">{r.Pass}</td>
+</tr>'''.format(**locals()), file=self.stream)
 
     def render(self, all_remarks):
         print('''