This library is broken up into two parts:
-
The
FrameTrackingNodeVisitor
extendsast.NodeVisitor
. By passing it the AST for a file, it will process the entire thing and return scoping information for all identifiers found. These are processed asFrameTrackingNodeVisitor.Frame
andFrameTrackingNodeVisitor.FrameEntry
and the rootFrameTrackingNodeVisitor.Frame
is returned with public methods to query scoping information -
The
ReleaseObfuscationTransformer
. This transforms the given AST into the obfuscated AST. It will internally useFrameTrackingNodeVisitor
to get the scoping information for a file to determine how to obfuscate it.