* Vs ** vs *** в Proguard?

В чем разница между подстановочными знаками * , ** и *** в Proguard? Например:

 -keep class com.mypackage.* 

против

 -keep class com.mypackage.** 

против

 -keep class com.mypackage.*** 

Solutions Collecting From Web of "* Vs ** vs *** в Proguard?"

 * matches any part of a method name. OR matches any part of a class name not containing the package separator. ** matches any part of a class name, possibly containing any number of package separators. *** matches any type (primitive or non-primitive, array or non-array). 

Обратите внимание, что подстановочные символы и * никогда не будут соответствовать примитивным типам. Кроме того, только подстановочные знаки * будут соответствовать типам массива любого измерения. Например, « get * ()» соответствует "java.lang.Object getObject()" , но не "float getFloat()" , ни "java.lang.Object[] getObjects()" .

 * matches any part of a filename not containing the directory separator. ** matches any part of a filename, possibly containing any number of directory separators.