Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: scripts/findInterfaces.js

Issue 29350140: Issue 4353 - Remove non standard for each syntax (Closed)
Patch Set: Removed unused code Created Aug. 24, 2016, 2:40 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « scripts/dxr.js ('k') | scripts/outASTML.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/findInterfaces.js
diff --git a/scripts/findInterfaces.js b/scripts/findInterfaces.js
deleted file mode 100644
index 4e5ce4cd4ab9ca52f36766b30b66d21028c6bd38..0000000000000000000000000000000000000000
--- a/scripts/findInterfaces.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// This is a simple script to find all interfaces that a JS code uses, at least
-// via Components.interfaces.
-
-include("../utils/cleanast.js");
-include("../utils/dumpast.js");
-
-function visit(root_ast, func) {
- function v_r(ast, func) {
- if (ast == null)
- return;
- func(ast);
- for each (let child in ast.kids)
- v_r(child, func);
- }
-
- function sanitize(ast) {
- if (ast == null)
- return null;
- if (ast.op == JSOP_NAME && ast.atom in aliases) {
- ast = sanitize(aliases[ast.atom]);
- ast.expanded = true;
- }
- let sanitized_ast = { kids: [] };
- for (let key in ast) {
- if (key == 'kids') {
- for each (let kid in ast.kids) {
- sanitized_ast.kids.push(sanitize(kid));
- }
- } else {
- sanitized_ast[key] = ast[key];
- }
- }
- return sanitized_ast;
- }
-
- v_r(sanitize(root_ast), func);
-}
-
-let filename;
-
-function process_js(ast, f) {
- filename = f;
- let global = clean_ast(ast);
- for each (let c in global.constants) {
- mark_globals(c);
- }
- //_print(uneval(aliases));
- for each (let v in global.variables) {
- visit(v.init, find_interfaces);
- }
- for each (let statement in global.code)
- visit(statement, find_interfaces);
- //_print(uneval(global));
-}
-
-let aliases = {};
-
-function mark_globals(constant) {
- aliases[constant.name] = constant.init;
-}
-
-function find_interfaces(ast) {
- if (ast.op == JSOP_GETPROP && ast.kids[0]) {
- let check = ast.kids[0];
- if (check.atom == "interfaces" && check.kids[0] &&
- check.kids[0].atom == "Components") {
- _print("Interface " + ast.atom + " used at " + loc2str(ast));
- } else if (ast.atom && ast.atom == "nsIMimeStreamConverter") {
- _print(uneval(ast));
- }
- }
-}
-
-function loc2str(ast) {
- return filename + ":" + ast.line + ":" + ast.column;
-}
« no previous file with comments | « scripts/dxr.js ('k') | scripts/outASTML.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld