Package jadx.core.utils
Class DotGraphUtils
java.lang.Object
jadx.core.utils.DotGraphUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ICodeWriterprivate final ICodeWriterprivate static final intprivate static final Stringprivate static final Stringprivate static final booleanprivate static final booleanprivate booleanprivate final booleanprivate final boolean -
Constructor Summary
ConstructorsConstructorDescriptionDotGraphUtils(boolean useRegions, boolean rawInsn) DotGraphUtils(boolean useRegions, boolean rawInsn, Optional<IRegion> highlightRegion) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidstatic StringargTypeFormatName(ArgType arg, ClassNode cls, boolean longName) private StringattributesString(IAttributeNode block) private voidcheckAndFixFloatingBlocks(MethodNode mth, BlockNode block, Set<IBlock> regionBlocks) A block is floating if it exists in no regions at all.static StringclassFormatName(ClassInfo cls, boolean longName) static StringclassFormatName(ClassNode cls, boolean longName) voiddumpToFile(MethodNode mth) voiddumpToFile(MethodNode mth, File dir) @Nullable StringdumpToString(MethodNode mth) static Stringstatic Stringstatic Stringstatic StringformatColor(Color color) private StringgetColorForRegion(IRegion region) getFullFile(MethodNode mth) getFullFile(MethodNode mth, File outDir) static FilegetOutDir(MethodNode mth) private StringinsertInsns(MethodNode mth, IBlock block) static StringinterfaceFormatName(ArgType iface, ClassNode cls, boolean longName) private Stringstatic StringmethodFormatName(JavaMethod javaMethod, boolean longName) static StringmethodFormatName(MethodNode methodNode, boolean longName) private voidprocessBlock(MethodNode mth, BlockNode block) private voidprocessBlock(MethodNode mth, BlockNode block, boolean error, boolean pseudoInRegion) private voidprocessIBlock(MethodNode mth, IBlock block) private voidprocessIBlock(MethodNode mth, IBlock block, boolean error) private voidprivate voidprocessRegion(MethodNode mth, IContainer region, Set<IBlock> regionsBlocks) static StringtoDotNodeName(String fullName) private Stringstatic StringunresolvedMethodFormatName(MethodInfo mthInfo, boolean longName)
-
Field Details
-
NL
- See Also:
-
NLQR
-
PRINT_DOMINATORS
private static final boolean PRINT_DOMINATORS- See Also:
-
PRINT_DOMINATORS_INFO
private static final boolean PRINT_DOMINATORS_INFO- See Also:
-
MAX_REGION_NAME_LENGTH
private static final int MAX_REGION_NAME_LENGTH- See Also:
-
dot
-
conn
-
useRegions
private final boolean useRegions -
rawInsn
private final boolean rawInsn -
highlightRegion
-
processedHighlightRegion
private boolean processedHighlightRegion
-
-
Constructor Details
-
DotGraphUtils
public DotGraphUtils(boolean useRegions, boolean rawInsn) -
DotGraphUtils
-
-
Method Details
-
getOutDir
-
getFullFile
-
getFullFile
-
dumpToFile
-
dumpToFile
-
dumpToString
-
processMethodRegion
-
processRegion
-
getColorForRegion
-
truncateRegionName
-
checkAndFixFloatingBlocks
A block is floating if it exists in no regions at all. These are placed in a region that makes sense for generation of this graph only, because otherwise the generated graph is unreadable. -
processBlock
-
processBlock
-
processIBlock
-
processIBlock
-
addEdge
-
attributesString
-
makeName
-
insertInsns
-
escape
-
escape
-
escape
-
classFormatName
-
classFormatName
-
methodFormatName
-
methodFormatName
-
unresolvedMethodFormatName
-
interfaceFormatName
-
argTypeFormatName
-
formatColor
-
toDotNodeName
-