Package jadx.core.utils
Class Utils
- java.lang.Object
-
- jadx.core.utils.Utils
-
public class Utils extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voidappendStackTrace(ICodeWriter code, java.lang.Throwable throwable)static <T> java.lang.StringarrayToStr(T[] arr)static voidcheckThreadInterrupt()static java.lang.StringcleanObjectName(java.lang.String obj)static <T,R>
java.util.List<R>collectionMap(java.util.Collection<T> list, java.util.function.Function<T,R> mapFunc)static <T,R>
java.util.List<R>collectionMapNoNull(java.util.Collection<T> list, java.util.function.Function<T,R> mapFunc)static java.lang.StringconcatStrings(java.util.List<java.lang.String> list)static <T> booleancontainsInListByRef(java.util.List<T> list, T element)static java.lang.StringcurrentStackTrace()static java.lang.StringcurrentStackTrace(int skipFrames)static java.lang.StringcutObject(java.lang.String obj)static <T> Tfirst(java.lang.Iterable<T> list)static <T> Tfirst(java.util.List<T> list)static booleangetEnvVarBool(java.lang.String varName, boolean defValue)Deprecated.env vars shouldn't be used in core modules.static intgetEnvVarInt(java.lang.String varName, int defValue)Deprecated.env vars shouldn't be used in core modules.static java.lang.StringgetFullStackTrace(java.lang.Throwable throwable)static <T> TgetOne(@Nullable java.util.Collection<T> collection)static <T> TgetOne(@Nullable java.util.List<T> list)static <T> TgetOrElse(T obj, T defaultObj)static java.lang.StringgetStackTrace(java.lang.Throwable throwable)static <K,V>
java.util.Map<K,V>groupBy(java.util.List<V> list, java.util.function.Function<V,K> mapKey)Build map from list of values with value to key mapping function
Similar to:
list.stream().collect(Collectors.toMap(mapKey, Function.identity()));static <T> intindexInListByRef(java.util.List<T> list, T element)static <T> booleanisEmpty(java.util.Collection<T> col)static <K,V>
booleanisEmpty(java.util.Map<K,V> map)static <T> booleanisEmpty(T[] arr)static <T> booleanisSetContainsAny(java.util.Set<T> inputSet, java.util.Set<T> searchKeys)static <T> Tlast(java.lang.Iterable<T> list)static <T> Tlast(java.util.List<T> list)static <T> java.util.List<T>listTail(java.util.List<T> list, int startIndex)Sub list from startIndex (inclusive) to list endstatic java.lang.StringlistToString(java.lang.Iterable<?> objects)static java.lang.StringlistToString(java.lang.Iterable<?> objects, java.lang.String joiner)static <T> java.lang.StringlistToString(java.lang.Iterable<T> objects, java.lang.String joiner, java.util.function.Function<T,java.lang.String> toStr)static <T> java.lang.StringlistToString(java.lang.Iterable<T> objects, java.util.function.Function<T,java.lang.String> toStr)static <T> voidlistToString(java.lang.StringBuilder sb, java.lang.Iterable<T> objects, java.lang.String joiner)static <T> voidlistToString(java.lang.StringBuilder sb, java.lang.Iterable<T> objects, java.lang.String joiner, java.util.function.Function<T,java.lang.String> toStr)static <T> java.util.List<T>lockList(java.util.List<T> list)static java.lang.StringmakeQualifiedObjectName(java.lang.String obj)static <T> java.util.List<T>mergeLists(java.util.List<T> first, java.util.List<T> second)static <K,V>
java.util.Map<K,V>mergeMaps(java.util.Map<K,V> first, java.util.Map<K,V> second)Merge two maps.static <T> java.util.Set<T>mergeSets(java.util.Set<T> first, java.util.Set<T> second)static <T> voidmultiRootTreeDfsVisit(java.util.List<T> roots, java.util.function.Function<T,java.util.List<T>> childrenProvider, java.util.function.Consumer<T> visitor)static java.util.Map<java.lang.String,java.lang.String>newConstStringMap(java.lang.String... parameters)static <T> booleannotEmpty(java.util.Collection<T> col)static <T> booleannotEmpty(T[] arr)static java.util.concurrent.ThreadFactorysimpleThreadFactory(java.lang.String name)static java.lang.StringstrRepeat(java.lang.String str, int count)static <T> voidtreeDfsVisit(T root, java.util.function.Function<T,java.util.List<T>> childrenProvider, java.util.function.Consumer<T> visitor)Simple DFS visit for tree (cycles not allowed)
-
-
-
Method Detail
-
cleanObjectName
public static java.lang.String cleanObjectName(java.lang.String obj)
-
cutObject
public static java.lang.String cutObject(java.lang.String obj)
-
makeQualifiedObjectName
public static java.lang.String makeQualifiedObjectName(java.lang.String obj)
-
strRepeat
public static java.lang.String strRepeat(java.lang.String str, int count)
-
listToString
public static java.lang.String listToString(java.lang.Iterable<?> objects)
-
listToString
public static java.lang.String listToString(java.lang.Iterable<?> objects, java.lang.String joiner)
-
listToString
public static <T> java.lang.String listToString(java.lang.Iterable<T> objects, java.util.function.Function<T,java.lang.String> toStr)
-
listToString
public static <T> java.lang.String listToString(java.lang.Iterable<T> objects, java.lang.String joiner, java.util.function.Function<T,java.lang.String> toStr)
-
listToString
public static <T> void listToString(java.lang.StringBuilder sb, java.lang.Iterable<T> objects, java.lang.String joiner)
-
listToString
public static <T> void listToString(java.lang.StringBuilder sb, java.lang.Iterable<T> objects, java.lang.String joiner, java.util.function.Function<T,java.lang.String> toStr)
-
arrayToStr
public static <T> java.lang.String arrayToStr(T[] arr)
-
concatStrings
public static java.lang.String concatStrings(java.util.List<java.lang.String> list)
-
currentStackTrace
public static java.lang.String currentStackTrace()
-
currentStackTrace
public static java.lang.String currentStackTrace(int skipFrames)
-
getFullStackTrace
public static java.lang.String getFullStackTrace(java.lang.Throwable throwable)
-
getStackTrace
public static java.lang.String getStackTrace(java.lang.Throwable throwable)
-
appendStackTrace
public static void appendStackTrace(ICodeWriter code, java.lang.Throwable throwable)
-
collectionMap
public static <T,R> java.util.List<R> collectionMap(java.util.Collection<T> list, java.util.function.Function<T,R> mapFunc)
-
collectionMapNoNull
public static <T,R> java.util.List<R> collectionMapNoNull(java.util.Collection<T> list, java.util.function.Function<T,R> mapFunc)
-
containsInListByRef
public static <T> boolean containsInListByRef(java.util.List<T> list, T element)
-
indexInListByRef
public static <T> int indexInListByRef(java.util.List<T> list, T element)
-
lockList
public static <T> java.util.List<T> lockList(java.util.List<T> list)
-
listTail
public static <T> java.util.List<T> listTail(java.util.List<T> list, int startIndex)Sub list from startIndex (inclusive) to list end
-
mergeLists
public static <T> java.util.List<T> mergeLists(java.util.List<T> first, java.util.List<T> second)
-
mergeSets
public static <T> java.util.Set<T> mergeSets(java.util.Set<T> first, java.util.Set<T> second)
-
newConstStringMap
public static java.util.Map<java.lang.String,java.lang.String> newConstStringMap(java.lang.String... parameters)
-
mergeMaps
public static <K,V> java.util.Map<K,V> mergeMaps(java.util.Map<K,V> first, java.util.Map<K,V> second)Merge two maps. Return HashMap as result. Second map will override values from first map.
-
groupBy
public static <K,V> java.util.Map<K,V> groupBy(java.util.List<V> list, java.util.function.Function<V,K> mapKey)Build map from list of values with value to key mapping function
Similar to:
list.stream().collect(Collectors.toMap(mapKey, Function.identity()));
-
treeDfsVisit
public static <T> void treeDfsVisit(T root, java.util.function.Function<T,java.util.List<T>> childrenProvider, java.util.function.Consumer<T> visitor)Simple DFS visit for tree (cycles not allowed)
-
multiRootTreeDfsVisit
public static <T> void multiRootTreeDfsVisit(java.util.List<T> roots, java.util.function.Function<T,java.util.List<T>> childrenProvider, java.util.function.Consumer<T> visitor)
-
getOne
@Nullable public static <T> T getOne(@Nullable @Nullable java.util.List<T> list)
-
getOne
@Nullable public static <T> T getOne(@Nullable @Nullable java.util.Collection<T> collection)
-
isSetContainsAny
public static <T> boolean isSetContainsAny(java.util.Set<T> inputSet, java.util.Set<T> searchKeys)
-
first
@Nullable public static <T> T first(java.util.List<T> list)
-
first
@Nullable public static <T> T first(java.lang.Iterable<T> list)
-
last
@Nullable public static <T> T last(java.util.List<T> list)
-
last
@Nullable public static <T> T last(java.lang.Iterable<T> list)
-
getOrElse
public static <T> T getOrElse(@Nullable T obj, T defaultObj)
-
isEmpty
public static <T> boolean isEmpty(java.util.Collection<T> col)
-
notEmpty
public static <T> boolean notEmpty(java.util.Collection<T> col)
-
isEmpty
public static <K,V> boolean isEmpty(java.util.Map<K,V> map)
-
isEmpty
public static <T> boolean isEmpty(T[] arr)
-
notEmpty
public static <T> boolean notEmpty(T[] arr)
-
checkThreadInterrupt
public static void checkThreadInterrupt()
-
simpleThreadFactory
public static java.util.concurrent.ThreadFactory simpleThreadFactory(java.lang.String name)
-
getEnvVarBool
@Deprecated public static boolean getEnvVarBool(java.lang.String varName, boolean defValue)Deprecated.env vars shouldn't be used in core modules. Prefer to parse in `app` (use JadxCommonEnv from 'app-commons') and set in jadx args.
-
getEnvVarInt
@Deprecated public static int getEnvVarInt(java.lang.String varName, int defValue)Deprecated.env vars shouldn't be used in core modules. Prefer to parse in `app` (use JadxCommonEnv from 'app-commons') and set in jadx args.
-
-