sometsome 1.0.2 → 3.10.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. checksums.yaml +4 -4
  2. data/lib/proguard4.7/README +33 -0
  3. data/lib/proguard4.7/bin/proguard.bat +14 -0
  4. data/lib/proguard4.7/bin/proguard.sh +11 -0
  5. data/lib/proguard4.7/bin/proguardgui.bat +14 -0
  6. data/lib/proguard4.7/bin/proguardgui.sh +15 -0
  7. data/lib/proguard4.7/bin/retrace.bat +14 -0
  8. data/lib/proguard4.7/bin/retrace.sh +12 -0
  9. data/lib/proguard4.7/build/build.sh +94 -0
  10. data/lib/proguard4.7/build/build.xml +171 -0
  11. data/lib/proguard4.7/build/makefile +94 -0
  12. data/lib/proguard4.7/docs/FAQ.html +253 -0
  13. data/lib/proguard4.7/docs/GPL.html +406 -0
  14. data/lib/proguard4.7/docs/GPL_exception.html +56 -0
  15. data/lib/proguard4.7/docs/acknowledgements.html +76 -0
  16. data/lib/proguard4.7/docs/alternatives.html +699 -0
  17. data/lib/proguard4.7/docs/checkmark.gif +0 -0
  18. data/lib/proguard4.7/docs/downloads.html +623 -0
  19. data/lib/proguard4.7/docs/drop1.gif +0 -0
  20. data/lib/proguard4.7/docs/drop2.gif +0 -0
  21. data/lib/proguard4.7/docs/drop3.gif +0 -0
  22. data/lib/proguard4.7/docs/favicon.ico +0 -0
  23. data/lib/proguard4.7/docs/feedback.html +120 -0
  24. data/lib/proguard4.7/docs/index.html +92 -0
  25. data/lib/proguard4.7/docs/license.html +60 -0
  26. data/lib/proguard4.7/docs/main.html +102 -0
  27. data/lib/proguard4.7/docs/manual/ant.html +634 -0
  28. data/lib/proguard4.7/docs/manual/attention.gif +0 -0
  29. data/lib/proguard4.7/docs/manual/examples.html +1504 -0
  30. data/lib/proguard4.7/docs/manual/gui.html +479 -0
  31. data/lib/proguard4.7/docs/manual/index.html +51 -0
  32. data/lib/proguard4.7/docs/manual/introduction.html +173 -0
  33. data/lib/proguard4.7/docs/manual/limitations.html +69 -0
  34. data/lib/proguard4.7/docs/manual/optimizations.html +172 -0
  35. data/lib/proguard4.7/docs/manual/refcard.html +486 -0
  36. data/lib/proguard4.7/docs/manual/retrace/examples.html +345 -0
  37. data/lib/proguard4.7/docs/manual/retrace/index.html +37 -0
  38. data/lib/proguard4.7/docs/manual/retrace/introduction.html +79 -0
  39. data/lib/proguard4.7/docs/manual/retrace/usage.html +127 -0
  40. data/lib/proguard4.7/docs/manual/sections.html +60 -0
  41. data/lib/proguard4.7/docs/manual/style.css +105 -0
  42. data/lib/proguard4.7/docs/manual/troubleshooting.html +729 -0
  43. data/lib/proguard4.7/docs/manual/usage.html +1243 -0
  44. data/lib/proguard4.7/docs/manual/wtk.html +70 -0
  45. data/lib/proguard4.7/docs/quality.html +56 -0
  46. data/lib/proguard4.7/docs/results.html +170 -0
  47. data/lib/proguard4.7/docs/saikoalogo.png +0 -0
  48. data/lib/proguard4.7/docs/screenshot_console.gif +0 -0
  49. data/lib/proguard4.7/docs/screenshot_console_small.gif +0 -0
  50. data/lib/proguard4.7/docs/screenshot_gui1.gif +0 -0
  51. data/lib/proguard4.7/docs/screenshot_gui2.gif +0 -0
  52. data/lib/proguard4.7/docs/screenshot_gui3.gif +0 -0
  53. data/lib/proguard4.7/docs/screenshot_gui4.gif +0 -0
  54. data/lib/proguard4.7/docs/screenshot_gui5.gif +0 -0
  55. data/lib/proguard4.7/docs/screenshot_gui6.gif +0 -0
  56. data/lib/proguard4.7/docs/screenshot_gui7.gif +0 -0
  57. data/lib/proguard4.7/docs/screenshot_gui8.gif +0 -0
  58. data/lib/proguard4.7/docs/screenshots.html +67 -0
  59. data/lib/proguard4.7/docs/screenshots_gui_small.gif +0 -0
  60. data/lib/proguard4.7/docs/sections.html +64 -0
  61. data/lib/proguard4.7/docs/sflogo.png +0 -0
  62. data/lib/proguard4.7/docs/steel.gif +0 -0
  63. data/lib/proguard4.7/docs/style.css +223 -0
  64. data/lib/proguard4.7/docs/testimonials.html +133 -0
  65. data/lib/proguard4.7/docs/title.gif +0 -0
  66. data/lib/proguard4.7/docs/title.html +17 -0
  67. data/lib/proguard4.7/examples/android.pro +149 -0
  68. data/lib/proguard4.7/examples/annotations/examples.pro +60 -0
  69. data/lib/proguard4.7/examples/annotations/examples/Applet.java +22 -0
  70. data/lib/proguard4.7/examples/annotations/examples/Application.java +20 -0
  71. data/lib/proguard4.7/examples/annotations/examples/Bean.java +56 -0
  72. data/lib/proguard4.7/examples/annotations/examples/NativeCallBack.java +44 -0
  73. data/lib/proguard4.7/examples/annotations/lib/annotations.jar +0 -0
  74. data/lib/proguard4.7/examples/annotations/lib/annotations.pro +118 -0
  75. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/Keep.java +18 -0
  76. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepApplication.java +18 -0
  77. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepClassMemberNames.java +18 -0
  78. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepClassMembers.java +18 -0
  79. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepGettersSetters.java +18 -0
  80. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepImplementations.java +18 -0
  81. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepName.java +18 -0
  82. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicClassMemberNames.java +18 -0
  83. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicClassMembers.java +18 -0
  84. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicGettersSetters.java +18 -0
  85. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicImplementations.java +18 -0
  86. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicProtectedClassMemberNames.java +18 -0
  87. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicProtectedClassMembers.java +19 -0
  88. data/lib/proguard4.7/examples/ant/android-8.xml +177 -0
  89. data/lib/proguard4.7/examples/ant/applets.xml +88 -0
  90. data/lib/proguard4.7/examples/ant/applications1.xml +15 -0
  91. data/lib/proguard4.7/examples/ant/applications2.xml +74 -0
  92. data/lib/proguard4.7/examples/ant/applications3.xml +98 -0
  93. data/lib/proguard4.7/examples/ant/library.xml +102 -0
  94. data/lib/proguard4.7/examples/ant/midlets.xml +52 -0
  95. data/lib/proguard4.7/examples/ant/proguard.xml +78 -0
  96. data/lib/proguard4.7/examples/ant/servlets.xml +88 -0
  97. data/lib/proguard4.7/examples/applets.pro +69 -0
  98. data/lib/proguard4.7/examples/applications.pro +75 -0
  99. data/lib/proguard4.7/examples/dictionaries/compact.txt +18 -0
  100. data/lib/proguard4.7/examples/dictionaries/keywords.txt +58 -0
  101. data/lib/proguard4.7/examples/dictionaries/shakespeare.txt +23 -0
  102. data/lib/proguard4.7/examples/dictionaries/windows.txt +209 -0
  103. data/lib/proguard4.7/examples/library.pro +79 -0
  104. data/lib/proguard4.7/examples/midlets.pro +67 -0
  105. data/lib/proguard4.7/examples/proguard.pro +57 -0
  106. data/lib/proguard4.7/examples/proguardall.pro +62 -0
  107. data/lib/proguard4.7/examples/proguardgui.pro +50 -0
  108. data/lib/proguard4.7/examples/retrace.pro +43 -0
  109. data/lib/proguard4.7/examples/scala.pro +132 -0
  110. data/lib/proguard4.7/examples/servlets.pro +70 -0
  111. data/lib/proguard4.7/lib/proguard.jar +0 -0
  112. data/lib/proguard4.7/lib/proguardgui.jar +0 -0
  113. data/lib/proguard4.7/lib/retrace.jar +0 -0
  114. data/lib/proguard4.7/src/proguard/ArgumentWordReader.java +111 -0
  115. data/lib/proguard4.7/src/proguard/ClassPath.java +94 -0
  116. data/lib/proguard4.7/src/proguard/ClassPathEntry.java +282 -0
  117. data/lib/proguard4.7/src/proguard/ClassSpecification.java +259 -0
  118. data/lib/proguard4.7/src/proguard/ClassSpecificationVisitorFactory.java +503 -0
  119. data/lib/proguard4.7/src/proguard/Configuration.java +328 -0
  120. data/lib/proguard4.7/src/proguard/ConfigurationConstants.java +123 -0
  121. data/lib/proguard4.7/src/proguard/ConfigurationParser.java +1285 -0
  122. data/lib/proguard4.7/src/proguard/ConfigurationWriter.java +651 -0
  123. data/lib/proguard4.7/src/proguard/DataEntryReaderFactory.java +141 -0
  124. data/lib/proguard4.7/src/proguard/DataEntryWriterFactory.java +150 -0
  125. data/lib/proguard4.7/src/proguard/DescriptorKeepChecker.java +169 -0
  126. data/lib/proguard4.7/src/proguard/DuplicateClassPrinter.java +63 -0
  127. data/lib/proguard4.7/src/proguard/FileWordReader.java +55 -0
  128. data/lib/proguard4.7/src/proguard/FullyQualifiedClassNameChecker.java +191 -0
  129. data/lib/proguard4.7/src/proguard/GPL.java +197 -0
  130. data/lib/proguard4.7/src/proguard/Initializer.java +424 -0
  131. data/lib/proguard4.7/src/proguard/InputReader.java +233 -0
  132. data/lib/proguard4.7/src/proguard/KeepClassMemberChecker.java +87 -0
  133. data/lib/proguard4.7/src/proguard/KeepClassSpecification.java +137 -0
  134. data/lib/proguard4.7/src/proguard/LineWordReader.java +74 -0
  135. data/lib/proguard4.7/src/proguard/MANIFEST.MF +2 -0
  136. data/lib/proguard4.7/src/proguard/MemberSpecification.java +114 -0
  137. data/lib/proguard4.7/src/proguard/OutputWriter.java +296 -0
  138. data/lib/proguard4.7/src/proguard/ParseException.java +51 -0
  139. data/lib/proguard4.7/src/proguard/ProGuard.java +512 -0
  140. data/lib/proguard4.7/src/proguard/SeedPrinter.java +97 -0
  141. data/lib/proguard4.7/src/proguard/SubclassedClassFilter.java +62 -0
  142. data/lib/proguard4.7/src/proguard/Targeter.java +88 -0
  143. data/lib/proguard4.7/src/proguard/UpToDateChecker.java +232 -0
  144. data/lib/proguard4.7/src/proguard/WordReader.java +387 -0
  145. data/lib/proguard4.7/src/proguard/ant/ClassPathElement.java +191 -0
  146. data/lib/proguard4.7/src/proguard/ant/ClassSpecificationElement.java +258 -0
  147. data/lib/proguard4.7/src/proguard/ant/ConfigurationElement.java +53 -0
  148. data/lib/proguard4.7/src/proguard/ant/ConfigurationTask.java +441 -0
  149. data/lib/proguard4.7/src/proguard/ant/FilterElement.java +85 -0
  150. data/lib/proguard4.7/src/proguard/ant/KeepSpecificationElement.java +87 -0
  151. data/lib/proguard4.7/src/proguard/ant/MemberSpecificationElement.java +218 -0
  152. data/lib/proguard4.7/src/proguard/ant/ProGuardTask.java +352 -0
  153. data/lib/proguard4.7/src/proguard/ant/package.html +3 -0
  154. data/lib/proguard4.7/src/proguard/ant/task.properties +2 -0
  155. data/lib/proguard4.7/src/proguard/classfile/ClassConstants.java +316 -0
  156. data/lib/proguard4.7/src/proguard/classfile/ClassPool.java +152 -0
  157. data/lib/proguard4.7/src/proguard/classfile/Clazz.java +261 -0
  158. data/lib/proguard4.7/src/proguard/classfile/Field.java +32 -0
  159. data/lib/proguard4.7/src/proguard/classfile/LibraryClass.java +548 -0
  160. data/lib/proguard4.7/src/proguard/classfile/LibraryField.java +77 -0
  161. data/lib/proguard4.7/src/proguard/classfile/LibraryMember.java +108 -0
  162. data/lib/proguard4.7/src/proguard/classfile/LibraryMethod.java +83 -0
  163. data/lib/proguard4.7/src/proguard/classfile/Member.java +57 -0
  164. data/lib/proguard4.7/src/proguard/classfile/Method.java +32 -0
  165. data/lib/proguard4.7/src/proguard/classfile/ProgramClass.java +572 -0
  166. data/lib/proguard4.7/src/proguard/classfile/ProgramField.java +93 -0
  167. data/lib/proguard4.7/src/proguard/classfile/ProgramMember.java +168 -0
  168. data/lib/proguard4.7/src/proguard/classfile/ProgramMethod.java +99 -0
  169. data/lib/proguard4.7/src/proguard/classfile/VisitorAccepter.java +47 -0
  170. data/lib/proguard4.7/src/proguard/classfile/attribute/Attribute.java +142 -0
  171. data/lib/proguard4.7/src/proguard/classfile/attribute/BootstrapMethodInfo.java +89 -0
  172. data/lib/proguard4.7/src/proguard/classfile/attribute/BootstrapMethodsAttribute.java +95 -0
  173. data/lib/proguard4.7/src/proguard/classfile/attribute/CodeAttribute.java +202 -0
  174. data/lib/proguard4.7/src/proguard/classfile/attribute/ConstantValueAttribute.java +62 -0
  175. data/lib/proguard4.7/src/proguard/classfile/attribute/DeprecatedAttribute.java +66 -0
  176. data/lib/proguard4.7/src/proguard/classfile/attribute/EnclosingMethodAttribute.java +132 -0
  177. data/lib/proguard4.7/src/proguard/classfile/attribute/ExceptionInfo.java +100 -0
  178. data/lib/proguard4.7/src/proguard/classfile/attribute/ExceptionsAttribute.java +80 -0
  179. data/lib/proguard4.7/src/proguard/classfile/attribute/InnerClassesAttribute.java +80 -0
  180. data/lib/proguard4.7/src/proguard/classfile/attribute/InnerClassesInfo.java +119 -0
  181. data/lib/proguard4.7/src/proguard/classfile/attribute/LineNumberInfo.java +50 -0
  182. data/lib/proguard4.7/src/proguard/classfile/attribute/LineNumberTableAttribute.java +100 -0
  183. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableInfo.java +99 -0
  184. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTableAttribute.java +79 -0
  185. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTypeInfo.java +107 -0
  186. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTypeTableAttribute.java +79 -0
  187. data/lib/proguard4.7/src/proguard/classfile/attribute/SignatureAttribute.java +100 -0
  188. data/lib/proguard4.7/src/proguard/classfile/attribute/SourceDirAttribute.java +62 -0
  189. data/lib/proguard4.7/src/proguard/classfile/attribute/SourceFileAttribute.java +62 -0
  190. data/lib/proguard4.7/src/proguard/classfile/attribute/SyntheticAttribute.java +66 -0
  191. data/lib/proguard4.7/src/proguard/classfile/attribute/UnknownAttribute.java +82 -0
  192. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/Annotation.java +143 -0
  193. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.java +73 -0
  194. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java +76 -0
  195. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationsAttribute.java +100 -0
  196. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ArrayElementValue.java +82 -0
  197. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ClassElementValue.java +95 -0
  198. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ConstantElementValue.java +71 -0
  199. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ElementValue.java +126 -0
  200. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java +99 -0
  201. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.java +83 -0
  202. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.java +70 -0
  203. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.java +62 -0
  204. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.java +70 -0
  205. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.java +62 -0
  206. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/package.html +4 -0
  207. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.java +100 -0
  208. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotatedClassVisitor.java +62 -0
  209. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationToMemberVisitor.java +62 -0
  210. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.java +102 -0
  211. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.java +40 -0
  212. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.java +51 -0
  213. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/package.html +3 -0
  214. data/lib/proguard4.7/src/proguard/classfile/attribute/package.html +3 -0
  215. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/DoubleType.java +66 -0
  216. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/FloatType.java +66 -0
  217. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/FullFrame.java +202 -0
  218. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/IntegerType.java +66 -0
  219. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/LessZeroFrame.java +103 -0
  220. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/LongType.java +66 -0
  221. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/MoreZeroFrame.java +161 -0
  222. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/NullType.java +66 -0
  223. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/ObjectType.java +107 -0
  224. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/SameOneFrame.java +115 -0
  225. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/SameZeroFrame.java +74 -0
  226. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapAttribute.java +91 -0
  227. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapFrame.java +117 -0
  228. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapTableAttribute.java +93 -0
  229. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/TopType.java +66 -0
  230. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/UninitializedThisType.java +66 -0
  231. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/UninitializedType.java +106 -0
  232. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/VerificationType.java +103 -0
  233. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/VerificationTypeFactory.java +112 -0
  234. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.java +40 -0
  235. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.java +65 -0
  236. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllAttributeVisitor.java +117 -0
  237. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.java +55 -0
  238. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.java +55 -0
  239. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.java +55 -0
  240. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AttributeNameFilter.java +368 -0
  241. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AttributeVisitor.java +90 -0
  242. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.java +40 -0
  243. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.java +37 -0
  244. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.java +38 -0
  245. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.java +38 -0
  246. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.java +38 -0
  247. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.java +38 -0
  248. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/MultiAttributeVisitor.java +365 -0
  249. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.java +293 -0
  250. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/RequiredAttributeFilter.java +360 -0
  251. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/StackSizeComputer.java +378 -0
  252. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/package.html +3 -0
  253. data/lib/proguard4.7/src/proguard/classfile/constant/ClassConstant.java +105 -0
  254. data/lib/proguard4.7/src/proguard/classfile/constant/Constant.java +68 -0
  255. data/lib/proguard4.7/src/proguard/classfile/constant/DoubleConstant.java +82 -0
  256. data/lib/proguard4.7/src/proguard/classfile/constant/FieldrefConstant.java +71 -0
  257. data/lib/proguard4.7/src/proguard/classfile/constant/FloatConstant.java +82 -0
  258. data/lib/proguard4.7/src/proguard/classfile/constant/IntegerConstant.java +82 -0
  259. data/lib/proguard4.7/src/proguard/classfile/constant/InterfaceMethodrefConstant.java +71 -0
  260. data/lib/proguard4.7/src/proguard/classfile/constant/InvokeDynamicConstant.java +148 -0
  261. data/lib/proguard4.7/src/proguard/classfile/constant/LongConstant.java +82 -0
  262. data/lib/proguard4.7/src/proguard/classfile/constant/MethodHandleConstant.java +124 -0
  263. data/lib/proguard4.7/src/proguard/classfile/constant/MethodTypeConstant.java +93 -0
  264. data/lib/proguard4.7/src/proguard/classfile/constant/MethodrefConstant.java +71 -0
  265. data/lib/proguard4.7/src/proguard/classfile/constant/NameAndTypeConstant.java +119 -0
  266. data/lib/proguard4.7/src/proguard/classfile/constant/RefConstant.java +130 -0
  267. data/lib/proguard4.7/src/proguard/classfile/constant/StringConstant.java +135 -0
  268. data/lib/proguard4.7/src/proguard/classfile/constant/Utf8Constant.java +285 -0
  269. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/AllConstantVisitor.java +53 -0
  270. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.java +100 -0
  271. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ConstantTagFilter.java +86 -0
  272. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ConstantVisitor.java +49 -0
  273. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ExceptClassConstantFilter.java +69 -0
  274. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/MethodrefTraveler.java +60 -0
  275. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/package.html +3 -0
  276. data/lib/proguard4.7/src/proguard/classfile/editor/AccessFixer.java +180 -0
  277. data/lib/proguard4.7/src/proguard/classfile/editor/AnnotationAdder.java +153 -0
  278. data/lib/proguard4.7/src/proguard/classfile/editor/AnnotationsAttributeEditor.java +67 -0
  279. data/lib/proguard4.7/src/proguard/classfile/editor/AttributeAdder.java +457 -0
  280. data/lib/proguard4.7/src/proguard/classfile/editor/AttributeSorter.java +89 -0
  281. data/lib/proguard4.7/src/proguard/classfile/editor/AttributesEditor.java +269 -0
  282. data/lib/proguard4.7/src/proguard/classfile/editor/BridgeMethodFixer.java +117 -0
  283. data/lib/proguard4.7/src/proguard/classfile/editor/ClassEditor.java +255 -0
  284. data/lib/proguard4.7/src/proguard/classfile/editor/ClassElementSorter.java +52 -0
  285. data/lib/proguard4.7/src/proguard/classfile/editor/ClassMemberSorter.java +69 -0
  286. data/lib/proguard4.7/src/proguard/classfile/editor/ClassReferenceFixer.java +546 -0
  287. data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeComposer.java +843 -0
  288. data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeEditor.java +1104 -0
  289. data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeEditorResetter.java +60 -0
  290. data/lib/proguard4.7/src/proguard/classfile/editor/ComparableConstant.java +249 -0
  291. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantAdder.java +239 -0
  292. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolEditor.java +782 -0
  293. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolRemapper.java +662 -0
  294. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolShrinker.java +578 -0
  295. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolSorter.java +123 -0
  296. data/lib/proguard4.7/src/proguard/classfile/editor/ElementValueAdder.java +217 -0
  297. data/lib/proguard4.7/src/proguard/classfile/editor/ElementValuesEditor.java +238 -0
  298. data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionAdder.java +65 -0
  299. data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionInfoAdder.java +67 -0
  300. data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionsAttributeEditor.java +68 -0
  301. data/lib/proguard4.7/src/proguard/classfile/editor/InnerClassesAccessFixer.java +83 -0
  302. data/lib/proguard4.7/src/proguard/classfile/editor/InstructionAdder.java +76 -0
  303. data/lib/proguard4.7/src/proguard/classfile/editor/InstructionWriter.java +278 -0
  304. data/lib/proguard4.7/src/proguard/classfile/editor/InterfaceAdder.java +62 -0
  305. data/lib/proguard4.7/src/proguard/classfile/editor/InterfaceSorter.java +152 -0
  306. data/lib/proguard4.7/src/proguard/classfile/editor/InterfacesEditor.java +122 -0
  307. data/lib/proguard4.7/src/proguard/classfile/editor/LineNumberInfoAdder.java +59 -0
  308. data/lib/proguard4.7/src/proguard/classfile/editor/LineNumberTableAttributeEditor.java +67 -0
  309. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableInfoAdder.java +67 -0
  310. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTableAttributeEditor.java +67 -0
  311. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTypeInfoAdder.java +68 -0
  312. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.java +68 -0
  313. data/lib/proguard4.7/src/proguard/classfile/editor/MemberAdder.java +288 -0
  314. data/lib/proguard4.7/src/proguard/classfile/editor/MemberReferenceFixer.java +447 -0
  315. data/lib/proguard4.7/src/proguard/classfile/editor/MethodInvocationFixer.java +243 -0
  316. data/lib/proguard4.7/src/proguard/classfile/editor/NameAndTypeShrinker.java +188 -0
  317. data/lib/proguard4.7/src/proguard/classfile/editor/NamedAttributeDeleter.java +54 -0
  318. data/lib/proguard4.7/src/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.java +71 -0
  319. data/lib/proguard4.7/src/proguard/classfile/editor/StackSizeUpdater.java +54 -0
  320. data/lib/proguard4.7/src/proguard/classfile/editor/SubclassAdder.java +59 -0
  321. data/lib/proguard4.7/src/proguard/classfile/editor/SubclassToAdder.java +60 -0
  322. data/lib/proguard4.7/src/proguard/classfile/editor/Utf8Shrinker.java +455 -0
  323. data/lib/proguard4.7/src/proguard/classfile/editor/VariableCleaner.java +267 -0
  324. data/lib/proguard4.7/src/proguard/classfile/editor/VariableEditor.java +130 -0
  325. data/lib/proguard4.7/src/proguard/classfile/editor/VariableRemapper.java +156 -0
  326. data/lib/proguard4.7/src/proguard/classfile/editor/VariableSizeUpdater.java +105 -0
  327. data/lib/proguard4.7/src/proguard/classfile/editor/package.html +3 -0
  328. data/lib/proguard4.7/src/proguard/classfile/instruction/BranchInstruction.java +180 -0
  329. data/lib/proguard4.7/src/proguard/classfile/instruction/ConstantInstruction.java +309 -0
  330. data/lib/proguard4.7/src/proguard/classfile/instruction/Instruction.java +920 -0
  331. data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionConstants.java +449 -0
  332. data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionFactory.java +300 -0
  333. data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionUtil.java +67 -0
  334. data/lib/proguard4.7/src/proguard/classfile/instruction/LookUpSwitchInstruction.java +135 -0
  335. data/lib/proguard4.7/src/proguard/classfile/instruction/SimpleInstruction.java +255 -0
  336. data/lib/proguard4.7/src/proguard/classfile/instruction/SwitchInstruction.java +83 -0
  337. data/lib/proguard4.7/src/proguard/classfile/instruction/TableSwitchInstruction.java +139 -0
  338. data/lib/proguard4.7/src/proguard/classfile/instruction/VariableInstruction.java +372 -0
  339. data/lib/proguard4.7/src/proguard/classfile/instruction/package.html +9 -0
  340. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/AllInstructionVisitor.java +56 -0
  341. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/InstructionCounter.java +59 -0
  342. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/InstructionVisitor.java +42 -0
  343. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/MultiInstructionVisitor.java +131 -0
  344. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/package.html +3 -0
  345. data/lib/proguard4.7/src/proguard/classfile/io/LibraryClassReader.java +383 -0
  346. data/lib/proguard4.7/src/proguard/classfile/io/ProgramClassReader.java +919 -0
  347. data/lib/proguard4.7/src/proguard/classfile/io/ProgramClassWriter.java +735 -0
  348. data/lib/proguard4.7/src/proguard/classfile/io/RuntimeDataInput.java +223 -0
  349. data/lib/proguard4.7/src/proguard/classfile/io/RuntimeDataOutput.java +224 -0
  350. data/lib/proguard4.7/src/proguard/classfile/io/package.html +3 -0
  351. data/lib/proguard4.7/src/proguard/classfile/package.html +15 -0
  352. data/lib/proguard4.7/src/proguard/classfile/util/AccessUtil.java +105 -0
  353. data/lib/proguard4.7/src/proguard/classfile/util/ClassReferenceInitializer.java +559 -0
  354. data/lib/proguard4.7/src/proguard/classfile/util/ClassSubHierarchyInitializer.java +77 -0
  355. data/lib/proguard4.7/src/proguard/classfile/util/ClassSuperHierarchyInitializer.java +163 -0
  356. data/lib/proguard4.7/src/proguard/classfile/util/ClassUtil.java +1227 -0
  357. data/lib/proguard4.7/src/proguard/classfile/util/DescriptorClassEnumeration.java +236 -0
  358. data/lib/proguard4.7/src/proguard/classfile/util/DynamicClassReferenceInitializer.java +485 -0
  359. data/lib/proguard4.7/src/proguard/classfile/util/DynamicMemberReferenceInitializer.java +944 -0
  360. data/lib/proguard4.7/src/proguard/classfile/util/ExternalTypeEnumeration.java +106 -0
  361. data/lib/proguard4.7/src/proguard/classfile/util/InstructionSequenceMatcher.java +754 -0
  362. data/lib/proguard4.7/src/proguard/classfile/util/InternalTypeEnumeration.java +204 -0
  363. data/lib/proguard4.7/src/proguard/classfile/util/MemberFinder.java +197 -0
  364. data/lib/proguard4.7/src/proguard/classfile/util/MethodLinker.java +160 -0
  365. data/lib/proguard4.7/src/proguard/classfile/util/SimplifiedVisitor.java +834 -0
  366. data/lib/proguard4.7/src/proguard/classfile/util/StringReferenceInitializer.java +90 -0
  367. data/lib/proguard4.7/src/proguard/classfile/util/StringSharer.java +172 -0
  368. data/lib/proguard4.7/src/proguard/classfile/util/WarningPrinter.java +136 -0
  369. data/lib/proguard4.7/src/proguard/classfile/util/package.html +3 -0
  370. data/lib/proguard4.7/src/proguard/classfile/visitor/AllClassVisitor.java +47 -0
  371. data/lib/proguard4.7/src/proguard/classfile/visitor/AllFieldVisitor.java +55 -0
  372. data/lib/proguard4.7/src/proguard/classfile/visitor/AllMemberVisitor.java +57 -0
  373. data/lib/proguard4.7/src/proguard/classfile/visitor/AllMethodVisitor.java +55 -0
  374. data/lib/proguard4.7/src/proguard/classfile/visitor/BottomClassFilter.java +69 -0
  375. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassAccessFilter.java +88 -0
  376. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCleaner.java +275 -0
  377. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCollector.java +58 -0
  378. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCounter.java +56 -0
  379. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassHierarchyTraveler.java +91 -0
  380. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassNameFilter.java +112 -0
  381. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPoolFiller.java +55 -0
  382. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPoolVisitor.java +37 -0
  383. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPresenceFilter.java +93 -0
  384. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPrinter.java +1011 -0
  385. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVersionFilter.java +85 -0
  386. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVersionSetter.java +83 -0
  387. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVisitor.java +36 -0
  388. data/lib/proguard4.7/src/proguard/classfile/visitor/ConcreteClassDownTraveler.java +100 -0
  389. data/lib/proguard4.7/src/proguard/classfile/visitor/DotClassClassVisitor.java +89 -0
  390. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptClassFilter.java +69 -0
  391. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptClassesFilter.java +90 -0
  392. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionCounter.java +52 -0
  393. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.java +64 -0
  394. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.java +62 -0
  395. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionHandlerFilter.java +70 -0
  396. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionOffsetFilter.java +64 -0
  397. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionRangeFilter.java +68 -0
  398. data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementedClassConstantFilter.java +69 -0
  399. data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementedClassFilter.java +71 -0
  400. data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementingClassConstantFilter.java +70 -0
  401. data/lib/proguard4.7/src/proguard/classfile/visitor/LibraryClassFilter.java +60 -0
  402. data/lib/proguard4.7/src/proguard/classfile/visitor/LibraryMemberFilter.java +73 -0
  403. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberAccessFilter.java +122 -0
  404. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberClassAccessFilter.java +106 -0
  405. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberCollector.java +59 -0
  406. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberCounter.java +72 -0
  407. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberDescriptorFilter.java +113 -0
  408. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberNameFilter.java +113 -0
  409. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberToClassVisitor.java +90 -0
  410. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberVisitor.java +40 -0
  411. data/lib/proguard4.7/src/proguard/classfile/visitor/MethodImplementationFilter.java +70 -0
  412. data/lib/proguard4.7/src/proguard/classfile/visitor/MethodImplementationTraveler.java +128 -0
  413. data/lib/proguard4.7/src/proguard/classfile/visitor/MultiClassPoolVisitor.java +88 -0
  414. data/lib/proguard4.7/src/proguard/classfile/visitor/MultiClassVisitor.java +97 -0
  415. data/lib/proguard4.7/src/proguard/classfile/visitor/MultiMemberVisitor.java +113 -0
  416. data/lib/proguard4.7/src/proguard/classfile/visitor/NamedClassVisitor.java +49 -0
  417. data/lib/proguard4.7/src/proguard/classfile/visitor/NamedFieldVisitor.java +61 -0
  418. data/lib/proguard4.7/src/proguard/classfile/visitor/NamedMethodVisitor.java +61 -0
  419. data/lib/proguard4.7/src/proguard/classfile/visitor/ProgramClassFilter.java +60 -0
  420. data/lib/proguard4.7/src/proguard/classfile/visitor/ProgramMemberFilter.java +73 -0
  421. data/lib/proguard4.7/src/proguard/classfile/visitor/ReferencedClassVisitor.java +255 -0
  422. data/lib/proguard4.7/src/proguard/classfile/visitor/ReferencedMemberVisitor.java +73 -0
  423. data/lib/proguard4.7/src/proguard/classfile/visitor/SimilarMemberVisitor.java +125 -0
  424. data/lib/proguard4.7/src/proguard/classfile/visitor/SimpleClassPrinter.java +167 -0
  425. data/lib/proguard4.7/src/proguard/classfile/visitor/SubclassFilter.java +91 -0
  426. data/lib/proguard4.7/src/proguard/classfile/visitor/SubclassTraveler.java +60 -0
  427. data/lib/proguard4.7/src/proguard/classfile/visitor/VariableClassVisitor.java +78 -0
  428. data/lib/proguard4.7/src/proguard/classfile/visitor/VariableMemberVisitor.java +96 -0
  429. data/lib/proguard4.7/src/proguard/classfile/visitor/package.html +40 -0
  430. data/lib/proguard4.7/src/proguard/evaluation/BasicBranchUnit.java +126 -0
  431. data/lib/proguard4.7/src/proguard/evaluation/BasicInvocationUnit.java +425 -0
  432. data/lib/proguard4.7/src/proguard/evaluation/BranchUnit.java +63 -0
  433. data/lib/proguard4.7/src/proguard/evaluation/ClassConstantValueFactory.java +53 -0
  434. data/lib/proguard4.7/src/proguard/evaluation/ConstantValueFactory.java +113 -0
  435. data/lib/proguard4.7/src/proguard/evaluation/InvocationUnit.java +62 -0
  436. data/lib/proguard4.7/src/proguard/evaluation/Processor.java +908 -0
  437. data/lib/proguard4.7/src/proguard/evaluation/Stack.java +560 -0
  438. data/lib/proguard4.7/src/proguard/evaluation/TracedStack.java +342 -0
  439. data/lib/proguard4.7/src/proguard/evaluation/TracedVariables.java +199 -0
  440. data/lib/proguard4.7/src/proguard/evaluation/Variables.java +347 -0
  441. data/lib/proguard4.7/src/proguard/evaluation/value/Category1Value.java +41 -0
  442. data/lib/proguard4.7/src/proguard/evaluation/value/Category2Value.java +41 -0
  443. data/lib/proguard4.7/src/proguard/evaluation/value/ComparisonValue.java +69 -0
  444. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeDoubleValue.java +81 -0
  445. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeFloatValue.java +81 -0
  446. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeIntegerValue.java +87 -0
  447. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeLongValue.java +87 -0
  448. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedByteValue.java +64 -0
  449. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedCharacterValue.java +64 -0
  450. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedDoubleValue.java +64 -0
  451. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedFloatValue.java +64 -0
  452. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedIntegerValue.java +64 -0
  453. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedLongValue.java +64 -0
  454. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedShortValue.java +64 -0
  455. data/lib/proguard4.7/src/proguard/evaluation/value/DoubleValue.java +359 -0
  456. data/lib/proguard4.7/src/proguard/evaluation/value/FloatValue.java +359 -0
  457. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedDoubleValue.java +67 -0
  458. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedFloatValue.java +67 -0
  459. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedIntegerValue.java +67 -0
  460. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedLongValue.java +67 -0
  461. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedReferenceValue.java +102 -0
  462. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedValueFactory.java +75 -0
  463. data/lib/proguard4.7/src/proguard/evaluation/value/InstructionOffsetValue.java +307 -0
  464. data/lib/proguard4.7/src/proguard/evaluation/value/IntegerValue.java +1002 -0
  465. data/lib/proguard4.7/src/proguard/evaluation/value/LongValue.java +554 -0
  466. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedDoubleValue.java +71 -0
  467. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedFloatValue.java +71 -0
  468. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedIntegerValue.java +71 -0
  469. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedLongValue.java +71 -0
  470. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularDoubleValue.java +216 -0
  471. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularFloatValue.java +216 -0
  472. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularIntegerValue.java +383 -0
  473. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularLongValue.java +271 -0
  474. data/lib/proguard4.7/src/proguard/evaluation/value/ReferenceValue.java +540 -0
  475. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificDoubleValue.java +186 -0
  476. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificFloatValue.java +186 -0
  477. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificIntegerValue.java +354 -0
  478. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificLongValue.java +259 -0
  479. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificValueFactory.java +97 -0
  480. data/lib/proguard4.7/src/proguard/evaluation/value/TopValue.java +79 -0
  481. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownDoubleValue.java +125 -0
  482. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownFloatValue.java +125 -0
  483. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownIntegerValue.java +216 -0
  484. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownLongValue.java +160 -0
  485. data/lib/proguard4.7/src/proguard/evaluation/value/Value.java +169 -0
  486. data/lib/proguard4.7/src/proguard/evaluation/value/ValueFactory.java +193 -0
  487. data/lib/proguard4.7/src/proguard/evaluation/value/package.html +3 -0
  488. data/lib/proguard4.7/src/proguard/gui/ClassPathPanel.java +441 -0
  489. data/lib/proguard4.7/src/proguard/gui/ClassSpecificationDialog.java +546 -0
  490. data/lib/proguard4.7/src/proguard/gui/ClassSpecificationsPanel.java +231 -0
  491. data/lib/proguard4.7/src/proguard/gui/ExtensionFileFilter.java +78 -0
  492. data/lib/proguard4.7/src/proguard/gui/FilterBuilder.java +208 -0
  493. data/lib/proguard4.7/src/proguard/gui/FilterDialog.java +320 -0
  494. data/lib/proguard4.7/src/proguard/gui/GUIResources.java +56 -0
  495. data/lib/proguard4.7/src/proguard/gui/GUIResources.properties +643 -0
  496. data/lib/proguard4.7/src/proguard/gui/KeepSpecificationsPanel.java +81 -0
  497. data/lib/proguard4.7/src/proguard/gui/ListPanel.java +341 -0
  498. data/lib/proguard4.7/src/proguard/gui/MANIFEST.MF +3 -0
  499. data/lib/proguard4.7/src/proguard/gui/MemberSpecificationDialog.java +509 -0
  500. data/lib/proguard4.7/src/proguard/gui/MemberSpecificationsPanel.java +304 -0
  501. data/lib/proguard4.7/src/proguard/gui/MessageDialogRunnable.java +90 -0
  502. data/lib/proguard4.7/src/proguard/gui/OptimizationsDialog.java +251 -0
  503. data/lib/proguard4.7/src/proguard/gui/ProGuardGUI.java +1777 -0
  504. data/lib/proguard4.7/src/proguard/gui/ProGuardRunnable.java +154 -0
  505. data/lib/proguard4.7/src/proguard/gui/ReTraceRunnable.java +149 -0
  506. data/lib/proguard4.7/src/proguard/gui/SwingUtil.java +82 -0
  507. data/lib/proguard4.7/src/proguard/gui/TabbedPane.java +229 -0
  508. data/lib/proguard4.7/src/proguard/gui/TextAreaOutputStream.java +81 -0
  509. data/lib/proguard4.7/src/proguard/gui/arrow.gif +0 -0
  510. data/lib/proguard4.7/src/proguard/gui/boilerplate.pro +410 -0
  511. data/lib/proguard4.7/src/proguard/gui/default.pro +318 -0
  512. data/lib/proguard4.7/src/proguard/gui/package.html +3 -0
  513. data/lib/proguard4.7/src/proguard/gui/splash/BufferedSprite.java +145 -0
  514. data/lib/proguard4.7/src/proguard/gui/splash/CircleSprite.java +74 -0
  515. data/lib/proguard4.7/src/proguard/gui/splash/ClipSprite.java +85 -0
  516. data/lib/proguard4.7/src/proguard/gui/splash/ColorSprite.java +65 -0
  517. data/lib/proguard4.7/src/proguard/gui/splash/CompositeSprite.java +56 -0
  518. data/lib/proguard4.7/src/proguard/gui/splash/ConstantColor.java +51 -0
  519. data/lib/proguard4.7/src/proguard/gui/splash/ConstantDouble.java +49 -0
  520. data/lib/proguard4.7/src/proguard/gui/splash/ConstantFont.java +46 -0
  521. data/lib/proguard4.7/src/proguard/gui/splash/ConstantInt.java +49 -0
  522. data/lib/proguard4.7/src/proguard/gui/splash/ConstantString.java +49 -0
  523. data/lib/proguard4.7/src/proguard/gui/splash/ConstantTiming.java +57 -0
  524. data/lib/proguard4.7/src/proguard/gui/splash/FontSprite.java +65 -0
  525. data/lib/proguard4.7/src/proguard/gui/splash/ImageSprite.java +76 -0
  526. data/lib/proguard4.7/src/proguard/gui/splash/LinearColor.java +72 -0
  527. data/lib/proguard4.7/src/proguard/gui/splash/LinearDouble.java +55 -0
  528. data/lib/proguard4.7/src/proguard/gui/splash/LinearInt.java +55 -0
  529. data/lib/proguard4.7/src/proguard/gui/splash/LinearTiming.java +55 -0
  530. data/lib/proguard4.7/src/proguard/gui/splash/OverrideGraphics2D.java +598 -0
  531. data/lib/proguard4.7/src/proguard/gui/splash/RectangleSprite.java +114 -0
  532. data/lib/proguard4.7/src/proguard/gui/splash/SawToothTiming.java +53 -0
  533. data/lib/proguard4.7/src/proguard/gui/splash/ShadowedSprite.java +109 -0
  534. data/lib/proguard4.7/src/proguard/gui/splash/SineTiming.java +53 -0
  535. data/lib/proguard4.7/src/proguard/gui/splash/SmoothTiming.java +66 -0
  536. data/lib/proguard4.7/src/proguard/gui/splash/SplashPanel.java +235 -0
  537. data/lib/proguard4.7/src/proguard/gui/splash/Sprite.java +41 -0
  538. data/lib/proguard4.7/src/proguard/gui/splash/TextSprite.java +89 -0
  539. data/lib/proguard4.7/src/proguard/gui/splash/TimeSwitchSprite.java +75 -0
  540. data/lib/proguard4.7/src/proguard/gui/splash/Timing.java +34 -0
  541. data/lib/proguard4.7/src/proguard/gui/splash/TypeWriterString.java +71 -0
  542. data/lib/proguard4.7/src/proguard/gui/splash/VariableColor.java +36 -0
  543. data/lib/proguard4.7/src/proguard/gui/splash/VariableDouble.java +34 -0
  544. data/lib/proguard4.7/src/proguard/gui/splash/VariableFont.java +36 -0
  545. data/lib/proguard4.7/src/proguard/gui/splash/VariableInt.java +34 -0
  546. data/lib/proguard4.7/src/proguard/gui/splash/VariableSizeFont.java +65 -0
  547. data/lib/proguard4.7/src/proguard/gui/splash/VariableString.java +34 -0
  548. data/lib/proguard4.7/src/proguard/gui/splash/package.html +4 -0
  549. data/lib/proguard4.7/src/proguard/gui/vtitle.png +0 -0
  550. data/lib/proguard4.7/src/proguard/io/CascadingDataEntryWriter.java +94 -0
  551. data/lib/proguard4.7/src/proguard/io/ClassFilter.java +59 -0
  552. data/lib/proguard4.7/src/proguard/io/ClassReader.java +115 -0
  553. data/lib/proguard4.7/src/proguard/io/ClassRewriter.java +80 -0
  554. data/lib/proguard4.7/src/proguard/io/DataEntry.java +62 -0
  555. data/lib/proguard4.7/src/proguard/io/DataEntryClassWriter.java +85 -0
  556. data/lib/proguard4.7/src/proguard/io/DataEntryCopier.java +247 -0
  557. data/lib/proguard4.7/src/proguard/io/DataEntryDirectoryFilter.java +40 -0
  558. data/lib/proguard4.7/src/proguard/io/DataEntryFilter.java +38 -0
  559. data/lib/proguard4.7/src/proguard/io/DataEntryNameFilter.java +54 -0
  560. data/lib/proguard4.7/src/proguard/io/DataEntryObfuscator.java +150 -0
  561. data/lib/proguard4.7/src/proguard/io/DataEntryParentFilter.java +51 -0
  562. data/lib/proguard4.7/src/proguard/io/DataEntryPump.java +43 -0
  563. data/lib/proguard4.7/src/proguard/io/DataEntryReader.java +38 -0
  564. data/lib/proguard4.7/src/proguard/io/DataEntryRenamer.java +104 -0
  565. data/lib/proguard4.7/src/proguard/io/DataEntryRewriter.java +148 -0
  566. data/lib/proguard4.7/src/proguard/io/DataEntryWriter.java +73 -0
  567. data/lib/proguard4.7/src/proguard/io/DirectoryFilter.java +58 -0
  568. data/lib/proguard4.7/src/proguard/io/DirectoryPump.java +78 -0
  569. data/lib/proguard4.7/src/proguard/io/DirectoryWriter.java +165 -0
  570. data/lib/proguard4.7/src/proguard/io/FileDataEntry.java +96 -0
  571. data/lib/proguard4.7/src/proguard/io/FilteredDataEntryReader.java +90 -0
  572. data/lib/proguard4.7/src/proguard/io/FilteredDataEntryWriter.java +125 -0
  573. data/lib/proguard4.7/src/proguard/io/Finisher.java +37 -0
  574. data/lib/proguard4.7/src/proguard/io/JarReader.java +75 -0
  575. data/lib/proguard4.7/src/proguard/io/JarWriter.java +235 -0
  576. data/lib/proguard4.7/src/proguard/io/ManifestRewriter.java +216 -0
  577. data/lib/proguard4.7/src/proguard/io/NameFilter.java +83 -0
  578. data/lib/proguard4.7/src/proguard/io/ParentDataEntryWriter.java +75 -0
  579. data/lib/proguard4.7/src/proguard/io/RenamedDataEntry.java +83 -0
  580. data/lib/proguard4.7/src/proguard/io/ZipDataEntry.java +98 -0
  581. data/lib/proguard4.7/src/proguard/io/package.html +4 -0
  582. data/lib/proguard4.7/src/proguard/obfuscate/AttributeShrinker.java +120 -0
  583. data/lib/proguard4.7/src/proguard/obfuscate/AttributeUsageMarker.java +71 -0
  584. data/lib/proguard4.7/src/proguard/obfuscate/ClassObfuscator.java +533 -0
  585. data/lib/proguard4.7/src/proguard/obfuscate/ClassRenamer.java +109 -0
  586. data/lib/proguard4.7/src/proguard/obfuscate/DictionaryNameFactory.java +189 -0
  587. data/lib/proguard4.7/src/proguard/obfuscate/MapCleaner.java +57 -0
  588. data/lib/proguard4.7/src/proguard/obfuscate/MappingKeeper.java +177 -0
  589. data/lib/proguard4.7/src/proguard/obfuscate/MappingPrinter.java +147 -0
  590. data/lib/proguard4.7/src/proguard/obfuscate/MappingProcessor.java +79 -0
  591. data/lib/proguard4.7/src/proguard/obfuscate/MappingReader.java +199 -0
  592. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameCleaner.java +60 -0
  593. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameCollector.java +106 -0
  594. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameConflictFixer.java +159 -0
  595. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameFilter.java +120 -0
  596. data/lib/proguard4.7/src/proguard/obfuscate/MemberObfuscator.java +230 -0
  597. data/lib/proguard4.7/src/proguard/obfuscate/MemberSpecialNameFilter.java +101 -0
  598. data/lib/proguard4.7/src/proguard/obfuscate/MultiMappingProcessor.java +96 -0
  599. data/lib/proguard4.7/src/proguard/obfuscate/NameFactory.java +34 -0
  600. data/lib/proguard4.7/src/proguard/obfuscate/NameFactoryResetter.java +59 -0
  601. data/lib/proguard4.7/src/proguard/obfuscate/NameMarker.java +166 -0
  602. data/lib/proguard4.7/src/proguard/obfuscate/NumericNameFactory.java +49 -0
  603. data/lib/proguard4.7/src/proguard/obfuscate/Obfuscator.java +445 -0
  604. data/lib/proguard4.7/src/proguard/obfuscate/ParameterNameMarker.java +128 -0
  605. data/lib/proguard4.7/src/proguard/obfuscate/SimpleNameFactory.java +156 -0
  606. data/lib/proguard4.7/src/proguard/obfuscate/SourceFileRenamer.java +84 -0
  607. data/lib/proguard4.7/src/proguard/obfuscate/SpecialNameFactory.java +83 -0
  608. data/lib/proguard4.7/src/proguard/obfuscate/package.html +3 -0
  609. data/lib/proguard4.7/src/proguard/optimize/BootstrapMethodArgumentShrinker.java +103 -0
  610. data/lib/proguard4.7/src/proguard/optimize/ChangedCodePrinter.java +297 -0
  611. data/lib/proguard4.7/src/proguard/optimize/ConstantMemberFilter.java +77 -0
  612. data/lib/proguard4.7/src/proguard/optimize/ConstantParameterFilter.java +79 -0
  613. data/lib/proguard4.7/src/proguard/optimize/DuplicateInitializerFixer.java +215 -0
  614. data/lib/proguard4.7/src/proguard/optimize/DuplicateInitializerInvocationFixer.java +161 -0
  615. data/lib/proguard4.7/src/proguard/optimize/KeepMarker.java +95 -0
  616. data/lib/proguard4.7/src/proguard/optimize/KeptClassFilter.java +69 -0
  617. data/lib/proguard4.7/src/proguard/optimize/KeptMemberFilter.java +88 -0
  618. data/lib/proguard4.7/src/proguard/optimize/MemberDescriptorSpecializer.java +138 -0
  619. data/lib/proguard4.7/src/proguard/optimize/MethodDescriptorShrinker.java +317 -0
  620. data/lib/proguard4.7/src/proguard/optimize/MethodStaticizer.java +87 -0
  621. data/lib/proguard4.7/src/proguard/optimize/OptimizationInfoMemberFilter.java +94 -0
  622. data/lib/proguard4.7/src/proguard/optimize/Optimizer.java +963 -0
  623. data/lib/proguard4.7/src/proguard/optimize/ParameterShrinker.java +146 -0
  624. data/lib/proguard4.7/src/proguard/optimize/TailRecursionSimplifier.java +356 -0
  625. data/lib/proguard4.7/src/proguard/optimize/WriteOnlyFieldFilter.java +65 -0
  626. data/lib/proguard4.7/src/proguard/optimize/evaluation/EvaluationShrinker.java +2082 -0
  627. data/lib/proguard4.7/src/proguard/optimize/evaluation/EvaluationSimplifier.java +973 -0
  628. data/lib/proguard4.7/src/proguard/optimize/evaluation/LivenessAnalyzer.java +526 -0
  629. data/lib/proguard4.7/src/proguard/optimize/evaluation/LoadingInvocationUnit.java +195 -0
  630. data/lib/proguard4.7/src/proguard/optimize/evaluation/PartialEvaluator.java +1282 -0
  631. data/lib/proguard4.7/src/proguard/optimize/evaluation/StoringInvocationUnit.java +207 -0
  632. data/lib/proguard4.7/src/proguard/optimize/evaluation/TracedBranchUnit.java +59 -0
  633. data/lib/proguard4.7/src/proguard/optimize/evaluation/VariableOptimizer.java +345 -0
  634. data/lib/proguard4.7/src/proguard/optimize/evaluation/package.html +4 -0
  635. data/lib/proguard4.7/src/proguard/optimize/info/AccessMethodMarker.java +202 -0
  636. data/lib/proguard4.7/src/proguard/optimize/info/BackwardBranchMarker.java +90 -0
  637. data/lib/proguard4.7/src/proguard/optimize/info/CatchExceptionMarker.java +69 -0
  638. data/lib/proguard4.7/src/proguard/optimize/info/CaughtClassFilter.java +63 -0
  639. data/lib/proguard4.7/src/proguard/optimize/info/CaughtClassMarker.java +64 -0
  640. data/lib/proguard4.7/src/proguard/optimize/info/ClassOptimizationInfo.java +165 -0
  641. data/lib/proguard4.7/src/proguard/optimize/info/ClassOptimizationInfoSetter.java +47 -0
  642. data/lib/proguard4.7/src/proguard/optimize/info/DotClassFilter.java +63 -0
  643. data/lib/proguard4.7/src/proguard/optimize/info/DotClassMarker.java +96 -0
  644. data/lib/proguard4.7/src/proguard/optimize/info/ExceptionInstructionChecker.java +193 -0
  645. data/lib/proguard4.7/src/proguard/optimize/info/FieldOptimizationInfo.java +204 -0
  646. data/lib/proguard4.7/src/proguard/optimize/info/InstanceofClassFilter.java +63 -0
  647. data/lib/proguard4.7/src/proguard/optimize/info/InstanceofClassMarker.java +93 -0
  648. data/lib/proguard4.7/src/proguard/optimize/info/InstantiationClassFilter.java +62 -0
  649. data/lib/proguard4.7/src/proguard/optimize/info/InstantiationClassMarker.java +93 -0
  650. data/lib/proguard4.7/src/proguard/optimize/info/MemberOptimizationInfoSetter.java +59 -0
  651. data/lib/proguard4.7/src/proguard/optimize/info/MethodInvocationMarker.java +107 -0
  652. data/lib/proguard4.7/src/proguard/optimize/info/MethodOptimizationInfo.java +302 -0
  653. data/lib/proguard4.7/src/proguard/optimize/info/NoSideEffectMethodMarker.java +91 -0
  654. data/lib/proguard4.7/src/proguard/optimize/info/NonPrivateMemberMarker.java +171 -0
  655. data/lib/proguard4.7/src/proguard/optimize/info/PackageVisibleMemberContainingClassMarker.java +85 -0
  656. data/lib/proguard4.7/src/proguard/optimize/info/PackageVisibleMemberInvokingClassMarker.java +129 -0
  657. data/lib/proguard4.7/src/proguard/optimize/info/ParameterUsageMarker.java +285 -0
  658. data/lib/proguard4.7/src/proguard/optimize/info/ReadWriteFieldMarker.java +163 -0
  659. data/lib/proguard4.7/src/proguard/optimize/info/SideEffectInstructionChecker.java +245 -0
  660. data/lib/proguard4.7/src/proguard/optimize/info/SideEffectMethodMarker.java +175 -0
  661. data/lib/proguard4.7/src/proguard/optimize/info/StaticInitializerContainingClassFilter.java +62 -0
  662. data/lib/proguard4.7/src/proguard/optimize/info/StaticInitializerContainingClassMarker.java +65 -0
  663. data/lib/proguard4.7/src/proguard/optimize/info/SuperInvocationMarker.java +93 -0
  664. data/lib/proguard4.7/src/proguard/optimize/info/VariableUsageMarker.java +96 -0
  665. data/lib/proguard4.7/src/proguard/optimize/info/package.html +4 -0
  666. data/lib/proguard4.7/src/proguard/optimize/package.html +4 -0
  667. data/lib/proguard4.7/src/proguard/optimize/peephole/BranchTargetFinder.java +687 -0
  668. data/lib/proguard4.7/src/proguard/optimize/peephole/ClassFinalizer.java +84 -0
  669. data/lib/proguard4.7/src/proguard/optimize/peephole/ClassMerger.java +576 -0
  670. data/lib/proguard4.7/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java +266 -0
  671. data/lib/proguard4.7/src/proguard/optimize/peephole/GotoGotoReplacer.java +115 -0
  672. data/lib/proguard4.7/src/proguard/optimize/peephole/GotoReturnReplacer.java +115 -0
  673. data/lib/proguard4.7/src/proguard/optimize/peephole/HorizontalClassMerger.java +90 -0
  674. data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequenceConstants.java +4424 -0
  675. data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequenceReplacer.java +420 -0
  676. data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequencesReplacer.java +138 -0
  677. data/lib/proguard4.7/src/proguard/optimize/peephole/MemberPrivatizer.java +103 -0
  678. data/lib/proguard4.7/src/proguard/optimize/peephole/MethodFinalizer.java +93 -0
  679. data/lib/proguard4.7/src/proguard/optimize/peephole/MethodInliner.java +597 -0
  680. data/lib/proguard4.7/src/proguard/optimize/peephole/NopRemover.java +89 -0
  681. data/lib/proguard4.7/src/proguard/optimize/peephole/PeepholeOptimizer.java +103 -0
  682. data/lib/proguard4.7/src/proguard/optimize/peephole/ReachableCodeMarker.java +262 -0
  683. data/lib/proguard4.7/src/proguard/optimize/peephole/RetargetedInnerClassAttributeRemover.java +170 -0
  684. data/lib/proguard4.7/src/proguard/optimize/peephole/TargetClassChanger.java +455 -0
  685. data/lib/proguard4.7/src/proguard/optimize/peephole/UnreachableCodeRemover.java +143 -0
  686. data/lib/proguard4.7/src/proguard/optimize/peephole/UnreachableExceptionRemover.java +163 -0
  687. data/lib/proguard4.7/src/proguard/optimize/peephole/VariableShrinker.java +129 -0
  688. data/lib/proguard4.7/src/proguard/optimize/peephole/VerticalClassMerger.java +88 -0
  689. data/lib/proguard4.7/src/proguard/optimize/peephole/package.html +3 -0
  690. data/lib/proguard4.7/src/proguard/package.html +5 -0
  691. data/lib/proguard4.7/src/proguard/preverify/CodePreverifier.java +611 -0
  692. data/lib/proguard4.7/src/proguard/preverify/CodeSubroutineInliner.java +406 -0
  693. data/lib/proguard4.7/src/proguard/preverify/Preverifier.java +73 -0
  694. data/lib/proguard4.7/src/proguard/preverify/SubroutineInliner.java +73 -0
  695. data/lib/proguard4.7/src/proguard/retrace/MANIFEST.MF +3 -0
  696. data/lib/proguard4.7/src/proguard/retrace/ReTrace.java +749 -0
  697. data/lib/proguard4.7/src/proguard/retrace/package.html +4 -0
  698. data/lib/proguard4.7/src/proguard/shrink/AnnotationUsageMarker.java +333 -0
  699. data/lib/proguard4.7/src/proguard/shrink/ClassShrinker.java +458 -0
  700. data/lib/proguard4.7/src/proguard/shrink/InnerUsageMarker.java +174 -0
  701. data/lib/proguard4.7/src/proguard/shrink/InterfaceUsageMarker.java +152 -0
  702. data/lib/proguard4.7/src/proguard/shrink/ShortestUsageMark.java +183 -0
  703. data/lib/proguard4.7/src/proguard/shrink/ShortestUsageMarker.java +277 -0
  704. data/lib/proguard4.7/src/proguard/shrink/ShortestUsagePrinter.java +210 -0
  705. data/lib/proguard4.7/src/proguard/shrink/Shrinker.java +181 -0
  706. data/lib/proguard4.7/src/proguard/shrink/UsageMarker.java +1036 -0
  707. data/lib/proguard4.7/src/proguard/shrink/UsagePrinter.java +177 -0
  708. data/lib/proguard4.7/src/proguard/shrink/UsedClassFilter.java +74 -0
  709. data/lib/proguard4.7/src/proguard/shrink/UsedMemberFilter.java +93 -0
  710. data/lib/proguard4.7/src/proguard/shrink/package.html +3 -0
  711. data/lib/proguard4.7/src/proguard/util/AndMatcher.java +49 -0
  712. data/lib/proguard4.7/src/proguard/util/ClassNameParser.java +216 -0
  713. data/lib/proguard4.7/src/proguard/util/ConstantMatcher.java +48 -0
  714. data/lib/proguard4.7/src/proguard/util/EmptyStringMatcher.java +36 -0
  715. data/lib/proguard4.7/src/proguard/util/ExtensionMatcher.java +63 -0
  716. data/lib/proguard4.7/src/proguard/util/FileNameParser.java +121 -0
  717. data/lib/proguard4.7/src/proguard/util/FixedStringMatcher.java +56 -0
  718. data/lib/proguard4.7/src/proguard/util/ListMatcher.java +69 -0
  719. data/lib/proguard4.7/src/proguard/util/ListParser.java +137 -0
  720. data/lib/proguard4.7/src/proguard/util/ListUtil.java +180 -0
  721. data/lib/proguard4.7/src/proguard/util/NameParser.java +106 -0
  722. data/lib/proguard4.7/src/proguard/util/NotMatcher.java +46 -0
  723. data/lib/proguard4.7/src/proguard/util/OrMatcher.java +49 -0
  724. data/lib/proguard4.7/src/proguard/util/SettableMatcher.java +46 -0
  725. data/lib/proguard4.7/src/proguard/util/StringMatcher.java +38 -0
  726. data/lib/proguard4.7/src/proguard/util/StringParser.java +35 -0
  727. data/lib/proguard4.7/src/proguard/util/VariableStringMatcher.java +126 -0
  728. data/lib/proguard4.7/src/proguard/util/package.html +3 -0
  729. data/lib/proguard4.7/src/proguard/wtk/ProGuardObfuscator.java +141 -0
  730. data/lib/proguard4.7/src/proguard/wtk/default.pro +114 -0
  731. data/lib/proguard4.7/src/proguard/wtk/package.html +3 -0
  732. metadata +960 -10
@@ -0,0 +1,62 @@
1
+ /*
2
+ * ProGuard -- shrinking, optimization, obfuscation, and preverification
3
+ * of Java bytecode.
4
+ *
5
+ * Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify it
8
+ * under the terms of the GNU General Public License as published by the Free
9
+ * Software Foundation; either version 2 of the License, or (at your option)
10
+ * any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful, but WITHOUT
13
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15
+ * more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ */
21
+ package proguard.classfile.editor;
22
+
23
+ import proguard.classfile.*;
24
+ import proguard.classfile.attribute.*;
25
+ import proguard.classfile.attribute.annotation.*;
26
+ import proguard.classfile.attribute.preverification.*;
27
+ import proguard.classfile.constant.ClassConstant;
28
+ import proguard.classfile.constant.visitor.ConstantVisitor;
29
+ import proguard.classfile.util.SimplifiedVisitor;
30
+
31
+ /**
32
+ * This ConstantVisitor adds all interfaces that it visits to the given
33
+ * target class.
34
+ *
35
+ * @author Eric Lafortune
36
+ */
37
+ public class InterfaceAdder
38
+ extends SimplifiedVisitor
39
+ implements ConstantVisitor
40
+ {
41
+ private final ConstantAdder constantAdder;
42
+ private final InterfacesEditor interfacesEditor;
43
+
44
+
45
+ /**
46
+ * Creates a new InterfaceAdder that will add interfaces to the given
47
+ * target class.
48
+ */
49
+ public InterfaceAdder(ProgramClass targetClass)
50
+ {
51
+ constantAdder = new ConstantAdder(targetClass);
52
+ interfacesEditor = new InterfacesEditor(targetClass);
53
+ }
54
+
55
+
56
+ // Implementations for ConstantVisitor.
57
+
58
+ public void visitClassConstant(Clazz clazz, ClassConstant classConstant)
59
+ {
60
+ interfacesEditor.addInterface(constantAdder.addConstant(clazz, classConstant));
61
+ }
62
+ }
@@ -0,0 +1,152 @@
1
+ /*
2
+ * ProGuard -- shrinking, optimization, obfuscation, and preverification
3
+ * of Java bytecode.
4
+ *
5
+ * Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify it
8
+ * under the terms of the GNU General Public License as published by the Free
9
+ * Software Foundation; either version 2 of the License, or (at your option)
10
+ * any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful, but WITHOUT
13
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15
+ * more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ */
21
+ package proguard.classfile.editor;
22
+
23
+ import proguard.classfile.*;
24
+ import proguard.classfile.attribute.*;
25
+ import proguard.classfile.attribute.visitor.AttributeVisitor;
26
+ import proguard.classfile.constant.*;
27
+ import proguard.classfile.constant.visitor.ConstantVisitor;
28
+ import proguard.classfile.util.*;
29
+ import proguard.classfile.visitor.ClassVisitor;
30
+
31
+ import java.util.*;
32
+
33
+ /**
34
+ * This ClassVisitor sorts the interfaces of the program classes that it visits.
35
+ *
36
+ * @author Eric Lafortune
37
+ */
38
+ public class InterfaceSorter
39
+ extends SimplifiedVisitor
40
+ implements ClassVisitor,
41
+ AttributeVisitor
42
+ {
43
+ // Implementations for ClassVisitor.
44
+
45
+ public void visitProgramClass(ProgramClass programClass)
46
+ {
47
+ int[] interfaces = programClass.u2interfaces;
48
+ int interfacesCount = programClass.u2interfacesCount;
49
+
50
+ if (interfacesCount > 1)
51
+ {
52
+ // Sort the interfaces.
53
+ Arrays.sort(interfaces, 0, interfacesCount);
54
+
55
+ // Remove any duplicate entries.
56
+ int newInterfacesCount = 0;
57
+ int previousInterfaceIndex = 0;
58
+ for (int index = 0; index < interfacesCount; index++)
59
+ {
60
+ int interfaceIndex = interfaces[index];
61
+
62
+ // Isn't this a duplicate of the previous interface?
63
+ if (interfaceIndex != previousInterfaceIndex)
64
+ {
65
+ interfaces[newInterfacesCount++] = interfaceIndex;
66
+
67
+ // Remember the interface.
68
+ previousInterfaceIndex = interfaceIndex;
69
+ }
70
+ }
71
+
72
+ programClass.u2interfacesCount = newInterfacesCount;
73
+
74
+ // Update the signature, if any
75
+ programClass.attributesAccept(this);
76
+ }
77
+ }
78
+
79
+
80
+ // Implementations for AttributeVisitor.
81
+
82
+ public void visitAnyAttribute(Clazz clazz, Attribute attribute) {}
83
+
84
+
85
+ public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)
86
+ {
87
+ // Process the generic definitions, superclass, and implemented
88
+ // interfaces.
89
+ String signature = clazz.getString(signatureAttribute.u2signatureIndex);
90
+
91
+ // Count the signature types.
92
+ InternalTypeEnumeration internalTypeEnumeration =
93
+ new InternalTypeEnumeration(signature);
94
+
95
+ int count = 0;
96
+ int interfacesCount = -1;
97
+ while (internalTypeEnumeration.hasMoreTypes())
98
+ {
99
+ String internalType = internalTypeEnumeration.nextType();
100
+
101
+ count++;
102
+
103
+ if (ClassUtil.isInternalClassType(internalType))
104
+ {
105
+ interfacesCount++;
106
+ }
107
+ }
108
+
109
+ // Put the signature types in an array.
110
+ internalTypeEnumeration =
111
+ new InternalTypeEnumeration(signature);
112
+
113
+ String[] internalTypes = new String[count];
114
+
115
+ for (int index = 0; index < count; index++)
116
+ {
117
+ String internalType = internalTypeEnumeration.nextType();
118
+
119
+ internalTypes[index] = internalType;
120
+ }
121
+
122
+ // Sort the interface types in the array.
123
+ Arrays.sort(internalTypes, count - interfacesCount, count);
124
+
125
+ // Recompose the signature types in a string.
126
+ StringBuffer newSignatureBuffer = new StringBuffer();
127
+
128
+ for (int index = 0; index < count; index++)
129
+ {
130
+ // Is this not an interface type, or an interface type that isn't
131
+ // a duplicate of the previous interface type?
132
+ if (index < count - interfacesCount ||
133
+ !internalTypes[index].equals(internalTypes[index-1]))
134
+ {
135
+ newSignatureBuffer.append(internalTypes[index]);
136
+ }
137
+ }
138
+
139
+ String newSignature = newSignatureBuffer.toString();
140
+
141
+ // Did the signature change?
142
+ if (!newSignature.equals(signature))
143
+ {
144
+ // Update the signature.
145
+ ((Utf8Constant)((ProgramClass)clazz).constantPool[signatureAttribute.u2signatureIndex]).setString(newSignatureBuffer.toString());
146
+
147
+ // Clear the referenced classes.
148
+ // TODO: Properly update the referenced classes.
149
+ signatureAttribute.referencedClasses = null;
150
+ }
151
+ }
152
+ }
@@ -0,0 +1,122 @@
1
+ /*
2
+ * ProGuard -- shrinking, optimization, obfuscation, and preverification
3
+ * of Java bytecode.
4
+ *
5
+ * Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify it
8
+ * under the terms of the GNU General Public License as published by the Free
9
+ * Software Foundation; either version 2 of the License, or (at your option)
10
+ * any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful, but WITHOUT
13
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15
+ * more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ */
21
+ package proguard.classfile.editor;
22
+
23
+ import proguard.classfile.*;
24
+ import proguard.classfile.attribute.*;
25
+
26
+ import java.util.Arrays;
27
+
28
+ /**
29
+ * This class can add and delete interfaces to and from classes. References to
30
+ * the constant pool must be filled out beforehand.
31
+ *
32
+ * @author Eric Lafortune
33
+ */
34
+ public class InterfacesEditor
35
+ {
36
+ private final ProgramClass targetClass;
37
+
38
+
39
+ /**
40
+ * Creates a new InterfacesEditor that will edit interfaces in the given
41
+ * target class.
42
+ */
43
+ public InterfacesEditor(ProgramClass targetClass)
44
+ {
45
+ this.targetClass = targetClass;
46
+ }
47
+
48
+
49
+ /**
50
+ * Adds the specified interface to the target class, if it isn't present yet.
51
+ */
52
+ public void addInterface(int interfaceConstantIndex)
53
+ {
54
+ // Is the interface not yet present?
55
+ if (findInterfaceIndex(interfaceConstantIndex) < 0)
56
+ {
57
+ int interfacesCount = targetClass.u2interfacesCount++;
58
+ int[] interfaces = targetClass.u2interfaces;
59
+
60
+ // Is the array too small to contain the additional interface?
61
+ if (interfaces.length <= interfacesCount)
62
+ {
63
+ // Create a new array and copy the interfaces into it.
64
+ int[] newinterfaces = new int[interfacesCount + 1];
65
+ System.arraycopy(interfaces, 0, newinterfaces, 0, interfacesCount);
66
+ interfaces = newinterfaces;
67
+
68
+ targetClass.u2interfaces = interfaces;
69
+ }
70
+
71
+ // Append the interface.
72
+ interfaces[interfacesCount] = interfaceConstantIndex;
73
+ }
74
+ }
75
+
76
+
77
+ /**
78
+ * Deletes the given interface from the target class, if it is present.
79
+ */
80
+ public void deleteInterface(int interfaceConstantIndex)
81
+ {
82
+ // Is the interface already present?
83
+ int interfaceIndex = findInterfaceIndex(interfaceConstantIndex);
84
+ if (interfaceIndex >= 0)
85
+ {
86
+ int interfacesCount = --targetClass.u2interfacesCount;
87
+ int[] interfaces = targetClass.u2interfaces;
88
+
89
+ // Shift the other interfaces in the array.
90
+ for (int index = interfaceIndex; index < interfacesCount; index++)
91
+ {
92
+ interfaces[index] = interfaces[index + 1];
93
+ }
94
+
95
+ // Clear the remaining entry in the array.
96
+ interfaces[interfacesCount] = 0;
97
+ }
98
+ }
99
+
100
+
101
+ // Small utility methods.
102
+
103
+ /**
104
+ * Finds the index of the specified interface in the list of interfaces of
105
+ * the target class.
106
+ */
107
+ private int findInterfaceIndex(int interfaceConstantIndex)
108
+ {
109
+ int interfacesCount = targetClass.u2interfacesCount;
110
+ int[] interfaces = targetClass.u2interfaces;
111
+
112
+ for (int index = 0; index < interfacesCount; index++)
113
+ {
114
+ if (interfaces[index] == interfaceConstantIndex)
115
+ {
116
+ return index;
117
+ }
118
+ }
119
+
120
+ return -1;
121
+ }
122
+ }
@@ -0,0 +1,59 @@
1
+ /*
2
+ * ProGuard -- shrinking, optimization, obfuscation, and preverification
3
+ * of Java bytecode.
4
+ *
5
+ * Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify it
8
+ * under the terms of the GNU General Public License as published by the Free
9
+ * Software Foundation; either version 2 of the License, or (at your option)
10
+ * any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful, but WITHOUT
13
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15
+ * more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ */
21
+ package proguard.classfile.editor;
22
+
23
+ import proguard.classfile.attribute.visitor.LineNumberInfoVisitor;
24
+ import proguard.classfile.attribute.*;
25
+ import proguard.classfile.*;
26
+
27
+ /**
28
+ * This LineNumberInfoVisitor adds all line numbers that it visits to the given
29
+ * target line number attribute.
30
+ */
31
+ public class LineNumberInfoAdder
32
+ implements LineNumberInfoVisitor
33
+ {
34
+ private final LineNumberTableAttributeEditor lineNumberTableAttributeEditor;
35
+
36
+
37
+ /**
38
+ * Creates a new LineNumberInfoAdder that will copy line numbers into the
39
+ * given target line number table.
40
+ */
41
+ public LineNumberInfoAdder(LineNumberTableAttribute targetLineNumberTableAttribute)
42
+ {
43
+ this.lineNumberTableAttributeEditor = new LineNumberTableAttributeEditor(targetLineNumberTableAttribute);
44
+ }
45
+
46
+
47
+ // Implementations for LineNumberInfoVisitor.
48
+
49
+ public void visitLineNumberInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberInfo lineNumberInfo)
50
+ {
51
+ // Create a new line number.
52
+ LineNumberInfo newLineNumberInfo =
53
+ new LineNumberInfo(lineNumberInfo.u2startPC,
54
+ lineNumberInfo.u2lineNumber);
55
+
56
+ // Add it to the target.
57
+ lineNumberTableAttributeEditor.addLineNumberInfo(newLineNumberInfo);
58
+ }
59
+ }
@@ -0,0 +1,67 @@
1
+ /*
2
+ * ProGuard -- shrinking, optimization, obfuscation, and preverification
3
+ * of Java bytecode.
4
+ *
5
+ * Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify it
8
+ * under the terms of the GNU General Public License as published by the Free
9
+ * Software Foundation; either version 2 of the License, or (at your option)
10
+ * any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful, but WITHOUT
13
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15
+ * more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ */
21
+ package proguard.classfile.editor;
22
+
23
+ import proguard.classfile.attribute.*;
24
+
25
+ /**
26
+ * This class can add line numbers to a given line number table attribute.
27
+ * Line numbers to be added must have been filled out beforehand.
28
+ *
29
+ * @author Eric Lafortune
30
+ */
31
+ public class LineNumberTableAttributeEditor
32
+ {
33
+ private LineNumberTableAttribute targetLineNumberTableAttribute;
34
+
35
+
36
+ /**
37
+ * Creates a new LineNumberTableAttributeEditor that will edit line numbers
38
+ * in the given line number table attribute.
39
+ */
40
+ public LineNumberTableAttributeEditor(LineNumberTableAttribute targetLineNumberTableAttribute)
41
+ {
42
+ this.targetLineNumberTableAttribute = targetLineNumberTableAttribute;
43
+ }
44
+
45
+
46
+ /**
47
+ * Adds a given line number to the line number table attribute.
48
+ */
49
+ public void addLineNumberInfo(LineNumberInfo lineNumberInfo)
50
+ {
51
+ int lineNumberTableLength = targetLineNumberTableAttribute.u2lineNumberTableLength;
52
+ LineNumberInfo[] lineNumberTable = targetLineNumberTableAttribute.lineNumberTable;
53
+
54
+ // Make sure there is enough space for the new lineNumberInfo.
55
+ if (lineNumberTable.length <= lineNumberTableLength)
56
+ {
57
+ targetLineNumberTableAttribute.lineNumberTable = new LineNumberInfo[lineNumberTableLength+1];
58
+ System.arraycopy(lineNumberTable, 0,
59
+ targetLineNumberTableAttribute.lineNumberTable, 0,
60
+ lineNumberTableLength);
61
+ lineNumberTable = targetLineNumberTableAttribute.lineNumberTable;
62
+ }
63
+
64
+ // Add the lineNumberInfo.
65
+ lineNumberTable[targetLineNumberTableAttribute.u2lineNumberTableLength++] = lineNumberInfo;
66
+ }
67
+ }