Add pyannotate-runtime support to wptrunner
diff --git a/tools/wptrunner/wptrunner/wptrunner.py b/tools/wptrunner/wptrunner/wptrunner.py
index bd2b3ad..42c082e 100644
--- a/tools/wptrunner/wptrunner/wptrunner.py
+++ b/tools/wptrunner/wptrunner/wptrunner.py
@@ -325,20 +325,26 @@
 
 def main():
     """Main entry point when calling from the command line"""
-    kwargs = wptcommandline.parse_args()
-
+    from pyannotate_runtime import collect_types
+    collect_types.init_types_collection()
     try:
-        if kwargs["prefs_root"] is None:
-            kwargs["prefs_root"] = os.path.abspath(os.path.join(here, "prefs"))
+        with collect_types.collect():
+            kwargs = wptcommandline.parse_args()
 
-        setup_logging(kwargs, {"raw": sys.stdout})
+            try:
+                if kwargs["prefs_root"] is None:
+                    kwargs["prefs_root"] = os.path.abspath(os.path.join(here, "prefs"))
 
-        return start(**kwargs)
-    except Exception:
-        if kwargs["pdb"]:
-            import pdb
-            import traceback
-            print traceback.format_exc()
-            pdb.post_mortem()
-        else:
-            raise
+                setup_logging(kwargs, {"raw": sys.stdout})
+
+                return start(**kwargs)
+            except Exception:
+                if kwargs["pdb"]:
+                    import pdb
+                    import traceback
+                    print traceback.format_exc()
+                    pdb.post_mortem()
+                else:
+                    raise
+    finally:
+        collect_types.dump_stats(os.path.join(here, "foo.bar"))