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; |
-} |