Analysis
To enable features, such as the integrated pseudocode disassembler and the class view, slicer creates in-memory models of classes.
By default, a partial version of the model is created for all classes in the background - this is called background analysis. When a class is to be disassembled or the like, a full version of the model is created and cached.
Search
Search allows you to search for identifying aspects of class files, such as constant pool values and class members.
The search tab can be opened like any unscoped tab, using Analysis
-> Search
or by pressing Ctrl+Shift+F
.
There are three search modes, selectable in the dropdown menu:
- Partial match (case-sensitive)
- Exact match (case-sensitive)
- Regular expression (RegEx pattern occurrences)
Constant pool
Searching in the constant pool is done by checking for matches against disassembled representations of the underlying entries.
Commonly searched aspects and queries may look like this:
Searching? | Mode | Query |
---|---|---|
All strings in the class file | Regular expression | ^STRING |
Reference to a specific class | Exact match/any | CLASS package/SearchedClass |
Reference to a specific field | Exact match/any | NAME_AND_TYPE theField Lthe/Type; |
Reference to a specific method | Exact match/any | NAME_AND_TYPE theMethod ()V |
Members
Members are searched by their name and descriptor, delimited by a space: theField Lthe/Type;
or theMethod ()V
.
Commonly searched aspects and queries may look like this:
Searching? | Mode | Query |
---|---|---|
Any field/method with a specific name | Regular expression | ^theField |
Any method returning a specific type | Regular expression | )Lthe/Type;$ |
Specific field | Exact match/any | theField Lthe/Type; |
Specific method | Exact match/any | theMethod ()V |