sometsome 3.10.50 → 3.10.50.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (733) hide show
  1. checksums.yaml +4 -4
  2. metadata +13 -963
  3. data/lib/hola.rb +0 -5
  4. data/lib/proguard4.7/README +0 -33
  5. data/lib/proguard4.7/bin/proguard.bat +0 -14
  6. data/lib/proguard4.7/bin/proguard.sh +0 -11
  7. data/lib/proguard4.7/bin/proguardgui.bat +0 -14
  8. data/lib/proguard4.7/bin/proguardgui.sh +0 -15
  9. data/lib/proguard4.7/bin/retrace.bat +0 -14
  10. data/lib/proguard4.7/bin/retrace.sh +0 -12
  11. data/lib/proguard4.7/build/build.sh +0 -94
  12. data/lib/proguard4.7/build/build.xml +0 -171
  13. data/lib/proguard4.7/build/makefile +0 -94
  14. data/lib/proguard4.7/docs/FAQ.html +0 -253
  15. data/lib/proguard4.7/docs/GPL.html +0 -406
  16. data/lib/proguard4.7/docs/GPL_exception.html +0 -56
  17. data/lib/proguard4.7/docs/acknowledgements.html +0 -76
  18. data/lib/proguard4.7/docs/alternatives.html +0 -699
  19. data/lib/proguard4.7/docs/checkmark.gif +0 -0
  20. data/lib/proguard4.7/docs/downloads.html +0 -623
  21. data/lib/proguard4.7/docs/drop1.gif +0 -0
  22. data/lib/proguard4.7/docs/drop2.gif +0 -0
  23. data/lib/proguard4.7/docs/drop3.gif +0 -0
  24. data/lib/proguard4.7/docs/favicon.ico +0 -0
  25. data/lib/proguard4.7/docs/feedback.html +0 -120
  26. data/lib/proguard4.7/docs/index.html +0 -92
  27. data/lib/proguard4.7/docs/license.html +0 -60
  28. data/lib/proguard4.7/docs/main.html +0 -102
  29. data/lib/proguard4.7/docs/manual/ant.html +0 -634
  30. data/lib/proguard4.7/docs/manual/attention.gif +0 -0
  31. data/lib/proguard4.7/docs/manual/examples.html +0 -1504
  32. data/lib/proguard4.7/docs/manual/gui.html +0 -479
  33. data/lib/proguard4.7/docs/manual/index.html +0 -51
  34. data/lib/proguard4.7/docs/manual/introduction.html +0 -173
  35. data/lib/proguard4.7/docs/manual/limitations.html +0 -69
  36. data/lib/proguard4.7/docs/manual/optimizations.html +0 -172
  37. data/lib/proguard4.7/docs/manual/refcard.html +0 -486
  38. data/lib/proguard4.7/docs/manual/retrace/examples.html +0 -345
  39. data/lib/proguard4.7/docs/manual/retrace/index.html +0 -37
  40. data/lib/proguard4.7/docs/manual/retrace/introduction.html +0 -79
  41. data/lib/proguard4.7/docs/manual/retrace/usage.html +0 -127
  42. data/lib/proguard4.7/docs/manual/sections.html +0 -60
  43. data/lib/proguard4.7/docs/manual/style.css +0 -105
  44. data/lib/proguard4.7/docs/manual/troubleshooting.html +0 -729
  45. data/lib/proguard4.7/docs/manual/usage.html +0 -1243
  46. data/lib/proguard4.7/docs/manual/wtk.html +0 -70
  47. data/lib/proguard4.7/docs/quality.html +0 -56
  48. data/lib/proguard4.7/docs/results.html +0 -170
  49. data/lib/proguard4.7/docs/saikoalogo.png +0 -0
  50. data/lib/proguard4.7/docs/screenshot_console.gif +0 -0
  51. data/lib/proguard4.7/docs/screenshot_console_small.gif +0 -0
  52. data/lib/proguard4.7/docs/screenshot_gui1.gif +0 -0
  53. data/lib/proguard4.7/docs/screenshot_gui2.gif +0 -0
  54. data/lib/proguard4.7/docs/screenshot_gui3.gif +0 -0
  55. data/lib/proguard4.7/docs/screenshot_gui4.gif +0 -0
  56. data/lib/proguard4.7/docs/screenshot_gui5.gif +0 -0
  57. data/lib/proguard4.7/docs/screenshot_gui6.gif +0 -0
  58. data/lib/proguard4.7/docs/screenshot_gui7.gif +0 -0
  59. data/lib/proguard4.7/docs/screenshot_gui8.gif +0 -0
  60. data/lib/proguard4.7/docs/screenshots.html +0 -67
  61. data/lib/proguard4.7/docs/screenshots_gui_small.gif +0 -0
  62. data/lib/proguard4.7/docs/sections.html +0 -64
  63. data/lib/proguard4.7/docs/sflogo.png +0 -0
  64. data/lib/proguard4.7/docs/steel.gif +0 -0
  65. data/lib/proguard4.7/docs/style.css +0 -223
  66. data/lib/proguard4.7/docs/testimonials.html +0 -133
  67. data/lib/proguard4.7/docs/title.gif +0 -0
  68. data/lib/proguard4.7/docs/title.html +0 -17
  69. data/lib/proguard4.7/examples/android.pro +0 -149
  70. data/lib/proguard4.7/examples/annotations/examples.pro +0 -60
  71. data/lib/proguard4.7/examples/annotations/examples/Applet.java +0 -22
  72. data/lib/proguard4.7/examples/annotations/examples/Application.java +0 -20
  73. data/lib/proguard4.7/examples/annotations/examples/Bean.java +0 -56
  74. data/lib/proguard4.7/examples/annotations/examples/NativeCallBack.java +0 -44
  75. data/lib/proguard4.7/examples/annotations/lib/annotations.jar +0 -0
  76. data/lib/proguard4.7/examples/annotations/lib/annotations.pro +0 -118
  77. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/Keep.java +0 -18
  78. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepApplication.java +0 -18
  79. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepClassMemberNames.java +0 -18
  80. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepClassMembers.java +0 -18
  81. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepGettersSetters.java +0 -18
  82. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepImplementations.java +0 -18
  83. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepName.java +0 -18
  84. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicClassMemberNames.java +0 -18
  85. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicClassMembers.java +0 -18
  86. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicGettersSetters.java +0 -18
  87. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicImplementations.java +0 -18
  88. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicProtectedClassMemberNames.java +0 -18
  89. data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicProtectedClassMembers.java +0 -19
  90. data/lib/proguard4.7/examples/ant/android-8.xml +0 -177
  91. data/lib/proguard4.7/examples/ant/applets.xml +0 -88
  92. data/lib/proguard4.7/examples/ant/applications1.xml +0 -15
  93. data/lib/proguard4.7/examples/ant/applications2.xml +0 -74
  94. data/lib/proguard4.7/examples/ant/applications3.xml +0 -98
  95. data/lib/proguard4.7/examples/ant/library.xml +0 -102
  96. data/lib/proguard4.7/examples/ant/midlets.xml +0 -52
  97. data/lib/proguard4.7/examples/ant/proguard.xml +0 -78
  98. data/lib/proguard4.7/examples/ant/servlets.xml +0 -88
  99. data/lib/proguard4.7/examples/applets.pro +0 -69
  100. data/lib/proguard4.7/examples/applications.pro +0 -75
  101. data/lib/proguard4.7/examples/dictionaries/compact.txt +0 -18
  102. data/lib/proguard4.7/examples/dictionaries/keywords.txt +0 -58
  103. data/lib/proguard4.7/examples/dictionaries/shakespeare.txt +0 -23
  104. data/lib/proguard4.7/examples/dictionaries/windows.txt +0 -209
  105. data/lib/proguard4.7/examples/library.pro +0 -79
  106. data/lib/proguard4.7/examples/midlets.pro +0 -67
  107. data/lib/proguard4.7/examples/proguard.pro +0 -57
  108. data/lib/proguard4.7/examples/proguardall.pro +0 -62
  109. data/lib/proguard4.7/examples/proguardgui.pro +0 -50
  110. data/lib/proguard4.7/examples/retrace.pro +0 -43
  111. data/lib/proguard4.7/examples/scala.pro +0 -132
  112. data/lib/proguard4.7/examples/servlets.pro +0 -70
  113. data/lib/proguard4.7/lib/proguard.jar +0 -0
  114. data/lib/proguard4.7/lib/proguardgui.jar +0 -0
  115. data/lib/proguard4.7/lib/retrace.jar +0 -0
  116. data/lib/proguard4.7/src/proguard/ArgumentWordReader.java +0 -111
  117. data/lib/proguard4.7/src/proguard/ClassPath.java +0 -94
  118. data/lib/proguard4.7/src/proguard/ClassPathEntry.java +0 -282
  119. data/lib/proguard4.7/src/proguard/ClassSpecification.java +0 -259
  120. data/lib/proguard4.7/src/proguard/ClassSpecificationVisitorFactory.java +0 -503
  121. data/lib/proguard4.7/src/proguard/Configuration.java +0 -328
  122. data/lib/proguard4.7/src/proguard/ConfigurationConstants.java +0 -123
  123. data/lib/proguard4.7/src/proguard/ConfigurationParser.java +0 -1285
  124. data/lib/proguard4.7/src/proguard/ConfigurationWriter.java +0 -651
  125. data/lib/proguard4.7/src/proguard/DataEntryReaderFactory.java +0 -141
  126. data/lib/proguard4.7/src/proguard/DataEntryWriterFactory.java +0 -150
  127. data/lib/proguard4.7/src/proguard/DescriptorKeepChecker.java +0 -169
  128. data/lib/proguard4.7/src/proguard/DuplicateClassPrinter.java +0 -63
  129. data/lib/proguard4.7/src/proguard/FileWordReader.java +0 -55
  130. data/lib/proguard4.7/src/proguard/FullyQualifiedClassNameChecker.java +0 -191
  131. data/lib/proguard4.7/src/proguard/GPL.java +0 -197
  132. data/lib/proguard4.7/src/proguard/Initializer.java +0 -424
  133. data/lib/proguard4.7/src/proguard/InputReader.java +0 -233
  134. data/lib/proguard4.7/src/proguard/KeepClassMemberChecker.java +0 -87
  135. data/lib/proguard4.7/src/proguard/KeepClassSpecification.java +0 -137
  136. data/lib/proguard4.7/src/proguard/LineWordReader.java +0 -74
  137. data/lib/proguard4.7/src/proguard/MANIFEST.MF +0 -2
  138. data/lib/proguard4.7/src/proguard/MemberSpecification.java +0 -114
  139. data/lib/proguard4.7/src/proguard/OutputWriter.java +0 -296
  140. data/lib/proguard4.7/src/proguard/ParseException.java +0 -51
  141. data/lib/proguard4.7/src/proguard/ProGuard.java +0 -512
  142. data/lib/proguard4.7/src/proguard/SeedPrinter.java +0 -97
  143. data/lib/proguard4.7/src/proguard/SubclassedClassFilter.java +0 -62
  144. data/lib/proguard4.7/src/proguard/Targeter.java +0 -88
  145. data/lib/proguard4.7/src/proguard/UpToDateChecker.java +0 -232
  146. data/lib/proguard4.7/src/proguard/WordReader.java +0 -387
  147. data/lib/proguard4.7/src/proguard/ant/ClassPathElement.java +0 -191
  148. data/lib/proguard4.7/src/proguard/ant/ClassSpecificationElement.java +0 -258
  149. data/lib/proguard4.7/src/proguard/ant/ConfigurationElement.java +0 -53
  150. data/lib/proguard4.7/src/proguard/ant/ConfigurationTask.java +0 -441
  151. data/lib/proguard4.7/src/proguard/ant/FilterElement.java +0 -85
  152. data/lib/proguard4.7/src/proguard/ant/KeepSpecificationElement.java +0 -87
  153. data/lib/proguard4.7/src/proguard/ant/MemberSpecificationElement.java +0 -218
  154. data/lib/proguard4.7/src/proguard/ant/ProGuardTask.java +0 -352
  155. data/lib/proguard4.7/src/proguard/ant/package.html +0 -3
  156. data/lib/proguard4.7/src/proguard/ant/task.properties +0 -2
  157. data/lib/proguard4.7/src/proguard/classfile/ClassConstants.java +0 -316
  158. data/lib/proguard4.7/src/proguard/classfile/ClassPool.java +0 -152
  159. data/lib/proguard4.7/src/proguard/classfile/Clazz.java +0 -261
  160. data/lib/proguard4.7/src/proguard/classfile/Field.java +0 -32
  161. data/lib/proguard4.7/src/proguard/classfile/LibraryClass.java +0 -548
  162. data/lib/proguard4.7/src/proguard/classfile/LibraryField.java +0 -77
  163. data/lib/proguard4.7/src/proguard/classfile/LibraryMember.java +0 -108
  164. data/lib/proguard4.7/src/proguard/classfile/LibraryMethod.java +0 -83
  165. data/lib/proguard4.7/src/proguard/classfile/Member.java +0 -57
  166. data/lib/proguard4.7/src/proguard/classfile/Method.java +0 -32
  167. data/lib/proguard4.7/src/proguard/classfile/ProgramClass.java +0 -572
  168. data/lib/proguard4.7/src/proguard/classfile/ProgramField.java +0 -93
  169. data/lib/proguard4.7/src/proguard/classfile/ProgramMember.java +0 -168
  170. data/lib/proguard4.7/src/proguard/classfile/ProgramMethod.java +0 -99
  171. data/lib/proguard4.7/src/proguard/classfile/VisitorAccepter.java +0 -47
  172. data/lib/proguard4.7/src/proguard/classfile/attribute/Attribute.java +0 -142
  173. data/lib/proguard4.7/src/proguard/classfile/attribute/BootstrapMethodInfo.java +0 -89
  174. data/lib/proguard4.7/src/proguard/classfile/attribute/BootstrapMethodsAttribute.java +0 -95
  175. data/lib/proguard4.7/src/proguard/classfile/attribute/CodeAttribute.java +0 -202
  176. data/lib/proguard4.7/src/proguard/classfile/attribute/ConstantValueAttribute.java +0 -62
  177. data/lib/proguard4.7/src/proguard/classfile/attribute/DeprecatedAttribute.java +0 -66
  178. data/lib/proguard4.7/src/proguard/classfile/attribute/EnclosingMethodAttribute.java +0 -132
  179. data/lib/proguard4.7/src/proguard/classfile/attribute/ExceptionInfo.java +0 -100
  180. data/lib/proguard4.7/src/proguard/classfile/attribute/ExceptionsAttribute.java +0 -80
  181. data/lib/proguard4.7/src/proguard/classfile/attribute/InnerClassesAttribute.java +0 -80
  182. data/lib/proguard4.7/src/proguard/classfile/attribute/InnerClassesInfo.java +0 -119
  183. data/lib/proguard4.7/src/proguard/classfile/attribute/LineNumberInfo.java +0 -50
  184. data/lib/proguard4.7/src/proguard/classfile/attribute/LineNumberTableAttribute.java +0 -100
  185. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableInfo.java +0 -99
  186. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTableAttribute.java +0 -79
  187. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTypeInfo.java +0 -107
  188. data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTypeTableAttribute.java +0 -79
  189. data/lib/proguard4.7/src/proguard/classfile/attribute/SignatureAttribute.java +0 -100
  190. data/lib/proguard4.7/src/proguard/classfile/attribute/SourceDirAttribute.java +0 -62
  191. data/lib/proguard4.7/src/proguard/classfile/attribute/SourceFileAttribute.java +0 -62
  192. data/lib/proguard4.7/src/proguard/classfile/attribute/SyntheticAttribute.java +0 -66
  193. data/lib/proguard4.7/src/proguard/classfile/attribute/UnknownAttribute.java +0 -82
  194. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/Annotation.java +0 -143
  195. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.java +0 -73
  196. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java +0 -76
  197. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationsAttribute.java +0 -100
  198. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ArrayElementValue.java +0 -82
  199. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ClassElementValue.java +0 -95
  200. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ConstantElementValue.java +0 -71
  201. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ElementValue.java +0 -126
  202. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java +0 -99
  203. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.java +0 -83
  204. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.java +0 -70
  205. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.java +0 -62
  206. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.java +0 -70
  207. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.java +0 -62
  208. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/package.html +0 -4
  209. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.java +0 -100
  210. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotatedClassVisitor.java +0 -62
  211. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationToMemberVisitor.java +0 -62
  212. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.java +0 -102
  213. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.java +0 -40
  214. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.java +0 -51
  215. data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/package.html +0 -3
  216. data/lib/proguard4.7/src/proguard/classfile/attribute/package.html +0 -3
  217. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/DoubleType.java +0 -66
  218. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/FloatType.java +0 -66
  219. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/FullFrame.java +0 -202
  220. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/IntegerType.java +0 -66
  221. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/LessZeroFrame.java +0 -103
  222. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/LongType.java +0 -66
  223. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/MoreZeroFrame.java +0 -161
  224. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/NullType.java +0 -66
  225. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/ObjectType.java +0 -107
  226. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/SameOneFrame.java +0 -115
  227. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/SameZeroFrame.java +0 -74
  228. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapAttribute.java +0 -91
  229. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapFrame.java +0 -117
  230. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapTableAttribute.java +0 -93
  231. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/TopType.java +0 -66
  232. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/UninitializedThisType.java +0 -66
  233. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/UninitializedType.java +0 -106
  234. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/VerificationType.java +0 -103
  235. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/VerificationTypeFactory.java +0 -112
  236. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.java +0 -40
  237. data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.java +0 -65
  238. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllAttributeVisitor.java +0 -117
  239. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.java +0 -55
  240. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.java +0 -55
  241. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.java +0 -55
  242. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AttributeNameFilter.java +0 -368
  243. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AttributeVisitor.java +0 -90
  244. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.java +0 -40
  245. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.java +0 -37
  246. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.java +0 -38
  247. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.java +0 -38
  248. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.java +0 -38
  249. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.java +0 -38
  250. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/MultiAttributeVisitor.java +0 -365
  251. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.java +0 -293
  252. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/RequiredAttributeFilter.java +0 -360
  253. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/StackSizeComputer.java +0 -378
  254. data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/package.html +0 -3
  255. data/lib/proguard4.7/src/proguard/classfile/constant/ClassConstant.java +0 -105
  256. data/lib/proguard4.7/src/proguard/classfile/constant/Constant.java +0 -68
  257. data/lib/proguard4.7/src/proguard/classfile/constant/DoubleConstant.java +0 -82
  258. data/lib/proguard4.7/src/proguard/classfile/constant/FieldrefConstant.java +0 -71
  259. data/lib/proguard4.7/src/proguard/classfile/constant/FloatConstant.java +0 -82
  260. data/lib/proguard4.7/src/proguard/classfile/constant/IntegerConstant.java +0 -82
  261. data/lib/proguard4.7/src/proguard/classfile/constant/InterfaceMethodrefConstant.java +0 -71
  262. data/lib/proguard4.7/src/proguard/classfile/constant/InvokeDynamicConstant.java +0 -148
  263. data/lib/proguard4.7/src/proguard/classfile/constant/LongConstant.java +0 -82
  264. data/lib/proguard4.7/src/proguard/classfile/constant/MethodHandleConstant.java +0 -124
  265. data/lib/proguard4.7/src/proguard/classfile/constant/MethodTypeConstant.java +0 -93
  266. data/lib/proguard4.7/src/proguard/classfile/constant/MethodrefConstant.java +0 -71
  267. data/lib/proguard4.7/src/proguard/classfile/constant/NameAndTypeConstant.java +0 -119
  268. data/lib/proguard4.7/src/proguard/classfile/constant/RefConstant.java +0 -130
  269. data/lib/proguard4.7/src/proguard/classfile/constant/StringConstant.java +0 -135
  270. data/lib/proguard4.7/src/proguard/classfile/constant/Utf8Constant.java +0 -285
  271. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/AllConstantVisitor.java +0 -53
  272. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.java +0 -100
  273. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ConstantTagFilter.java +0 -86
  274. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ConstantVisitor.java +0 -49
  275. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ExceptClassConstantFilter.java +0 -69
  276. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/MethodrefTraveler.java +0 -60
  277. data/lib/proguard4.7/src/proguard/classfile/constant/visitor/package.html +0 -3
  278. data/lib/proguard4.7/src/proguard/classfile/editor/AccessFixer.java +0 -180
  279. data/lib/proguard4.7/src/proguard/classfile/editor/AnnotationAdder.java +0 -153
  280. data/lib/proguard4.7/src/proguard/classfile/editor/AnnotationsAttributeEditor.java +0 -67
  281. data/lib/proguard4.7/src/proguard/classfile/editor/AttributeAdder.java +0 -457
  282. data/lib/proguard4.7/src/proguard/classfile/editor/AttributeSorter.java +0 -89
  283. data/lib/proguard4.7/src/proguard/classfile/editor/AttributesEditor.java +0 -269
  284. data/lib/proguard4.7/src/proguard/classfile/editor/BridgeMethodFixer.java +0 -117
  285. data/lib/proguard4.7/src/proguard/classfile/editor/ClassEditor.java +0 -255
  286. data/lib/proguard4.7/src/proguard/classfile/editor/ClassElementSorter.java +0 -52
  287. data/lib/proguard4.7/src/proguard/classfile/editor/ClassMemberSorter.java +0 -69
  288. data/lib/proguard4.7/src/proguard/classfile/editor/ClassReferenceFixer.java +0 -546
  289. data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeComposer.java +0 -843
  290. data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeEditor.java +0 -1104
  291. data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeEditorResetter.java +0 -60
  292. data/lib/proguard4.7/src/proguard/classfile/editor/ComparableConstant.java +0 -249
  293. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantAdder.java +0 -239
  294. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolEditor.java +0 -782
  295. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolRemapper.java +0 -662
  296. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolShrinker.java +0 -578
  297. data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolSorter.java +0 -123
  298. data/lib/proguard4.7/src/proguard/classfile/editor/ElementValueAdder.java +0 -217
  299. data/lib/proguard4.7/src/proguard/classfile/editor/ElementValuesEditor.java +0 -238
  300. data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionAdder.java +0 -65
  301. data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionInfoAdder.java +0 -67
  302. data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionsAttributeEditor.java +0 -68
  303. data/lib/proguard4.7/src/proguard/classfile/editor/InnerClassesAccessFixer.java +0 -83
  304. data/lib/proguard4.7/src/proguard/classfile/editor/InstructionAdder.java +0 -76
  305. data/lib/proguard4.7/src/proguard/classfile/editor/InstructionWriter.java +0 -278
  306. data/lib/proguard4.7/src/proguard/classfile/editor/InterfaceAdder.java +0 -62
  307. data/lib/proguard4.7/src/proguard/classfile/editor/InterfaceSorter.java +0 -152
  308. data/lib/proguard4.7/src/proguard/classfile/editor/InterfacesEditor.java +0 -122
  309. data/lib/proguard4.7/src/proguard/classfile/editor/LineNumberInfoAdder.java +0 -59
  310. data/lib/proguard4.7/src/proguard/classfile/editor/LineNumberTableAttributeEditor.java +0 -67
  311. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableInfoAdder.java +0 -67
  312. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTableAttributeEditor.java +0 -67
  313. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTypeInfoAdder.java +0 -68
  314. data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.java +0 -68
  315. data/lib/proguard4.7/src/proguard/classfile/editor/MemberAdder.java +0 -288
  316. data/lib/proguard4.7/src/proguard/classfile/editor/MemberReferenceFixer.java +0 -447
  317. data/lib/proguard4.7/src/proguard/classfile/editor/MethodInvocationFixer.java +0 -243
  318. data/lib/proguard4.7/src/proguard/classfile/editor/NameAndTypeShrinker.java +0 -188
  319. data/lib/proguard4.7/src/proguard/classfile/editor/NamedAttributeDeleter.java +0 -54
  320. data/lib/proguard4.7/src/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.java +0 -71
  321. data/lib/proguard4.7/src/proguard/classfile/editor/StackSizeUpdater.java +0 -54
  322. data/lib/proguard4.7/src/proguard/classfile/editor/SubclassAdder.java +0 -59
  323. data/lib/proguard4.7/src/proguard/classfile/editor/SubclassToAdder.java +0 -60
  324. data/lib/proguard4.7/src/proguard/classfile/editor/Utf8Shrinker.java +0 -455
  325. data/lib/proguard4.7/src/proguard/classfile/editor/VariableCleaner.java +0 -267
  326. data/lib/proguard4.7/src/proguard/classfile/editor/VariableEditor.java +0 -130
  327. data/lib/proguard4.7/src/proguard/classfile/editor/VariableRemapper.java +0 -156
  328. data/lib/proguard4.7/src/proguard/classfile/editor/VariableSizeUpdater.java +0 -105
  329. data/lib/proguard4.7/src/proguard/classfile/editor/package.html +0 -3
  330. data/lib/proguard4.7/src/proguard/classfile/instruction/BranchInstruction.java +0 -180
  331. data/lib/proguard4.7/src/proguard/classfile/instruction/ConstantInstruction.java +0 -309
  332. data/lib/proguard4.7/src/proguard/classfile/instruction/Instruction.java +0 -920
  333. data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionConstants.java +0 -449
  334. data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionFactory.java +0 -300
  335. data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionUtil.java +0 -67
  336. data/lib/proguard4.7/src/proguard/classfile/instruction/LookUpSwitchInstruction.java +0 -135
  337. data/lib/proguard4.7/src/proguard/classfile/instruction/SimpleInstruction.java +0 -255
  338. data/lib/proguard4.7/src/proguard/classfile/instruction/SwitchInstruction.java +0 -83
  339. data/lib/proguard4.7/src/proguard/classfile/instruction/TableSwitchInstruction.java +0 -139
  340. data/lib/proguard4.7/src/proguard/classfile/instruction/VariableInstruction.java +0 -372
  341. data/lib/proguard4.7/src/proguard/classfile/instruction/package.html +0 -9
  342. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/AllInstructionVisitor.java +0 -56
  343. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/InstructionCounter.java +0 -59
  344. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/InstructionVisitor.java +0 -42
  345. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/MultiInstructionVisitor.java +0 -131
  346. data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/package.html +0 -3
  347. data/lib/proguard4.7/src/proguard/classfile/io/LibraryClassReader.java +0 -383
  348. data/lib/proguard4.7/src/proguard/classfile/io/ProgramClassReader.java +0 -919
  349. data/lib/proguard4.7/src/proguard/classfile/io/ProgramClassWriter.java +0 -735
  350. data/lib/proguard4.7/src/proguard/classfile/io/RuntimeDataInput.java +0 -223
  351. data/lib/proguard4.7/src/proguard/classfile/io/RuntimeDataOutput.java +0 -224
  352. data/lib/proguard4.7/src/proguard/classfile/io/package.html +0 -3
  353. data/lib/proguard4.7/src/proguard/classfile/package.html +0 -15
  354. data/lib/proguard4.7/src/proguard/classfile/util/AccessUtil.java +0 -105
  355. data/lib/proguard4.7/src/proguard/classfile/util/ClassReferenceInitializer.java +0 -559
  356. data/lib/proguard4.7/src/proguard/classfile/util/ClassSubHierarchyInitializer.java +0 -77
  357. data/lib/proguard4.7/src/proguard/classfile/util/ClassSuperHierarchyInitializer.java +0 -163
  358. data/lib/proguard4.7/src/proguard/classfile/util/ClassUtil.java +0 -1227
  359. data/lib/proguard4.7/src/proguard/classfile/util/DescriptorClassEnumeration.java +0 -236
  360. data/lib/proguard4.7/src/proguard/classfile/util/DynamicClassReferenceInitializer.java +0 -485
  361. data/lib/proguard4.7/src/proguard/classfile/util/DynamicMemberReferenceInitializer.java +0 -944
  362. data/lib/proguard4.7/src/proguard/classfile/util/ExternalTypeEnumeration.java +0 -106
  363. data/lib/proguard4.7/src/proguard/classfile/util/InstructionSequenceMatcher.java +0 -754
  364. data/lib/proguard4.7/src/proguard/classfile/util/InternalTypeEnumeration.java +0 -204
  365. data/lib/proguard4.7/src/proguard/classfile/util/MemberFinder.java +0 -197
  366. data/lib/proguard4.7/src/proguard/classfile/util/MethodLinker.java +0 -160
  367. data/lib/proguard4.7/src/proguard/classfile/util/SimplifiedVisitor.java +0 -834
  368. data/lib/proguard4.7/src/proguard/classfile/util/StringReferenceInitializer.java +0 -90
  369. data/lib/proguard4.7/src/proguard/classfile/util/StringSharer.java +0 -172
  370. data/lib/proguard4.7/src/proguard/classfile/util/WarningPrinter.java +0 -136
  371. data/lib/proguard4.7/src/proguard/classfile/util/package.html +0 -3
  372. data/lib/proguard4.7/src/proguard/classfile/visitor/AllClassVisitor.java +0 -47
  373. data/lib/proguard4.7/src/proguard/classfile/visitor/AllFieldVisitor.java +0 -55
  374. data/lib/proguard4.7/src/proguard/classfile/visitor/AllMemberVisitor.java +0 -57
  375. data/lib/proguard4.7/src/proguard/classfile/visitor/AllMethodVisitor.java +0 -55
  376. data/lib/proguard4.7/src/proguard/classfile/visitor/BottomClassFilter.java +0 -69
  377. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassAccessFilter.java +0 -88
  378. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCleaner.java +0 -275
  379. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCollector.java +0 -58
  380. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCounter.java +0 -56
  381. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassHierarchyTraveler.java +0 -91
  382. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassNameFilter.java +0 -112
  383. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPoolFiller.java +0 -55
  384. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPoolVisitor.java +0 -37
  385. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPresenceFilter.java +0 -93
  386. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPrinter.java +0 -1011
  387. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVersionFilter.java +0 -85
  388. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVersionSetter.java +0 -83
  389. data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVisitor.java +0 -36
  390. data/lib/proguard4.7/src/proguard/classfile/visitor/ConcreteClassDownTraveler.java +0 -100
  391. data/lib/proguard4.7/src/proguard/classfile/visitor/DotClassClassVisitor.java +0 -89
  392. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptClassFilter.java +0 -69
  393. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptClassesFilter.java +0 -90
  394. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionCounter.java +0 -52
  395. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.java +0 -64
  396. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.java +0 -62
  397. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionHandlerFilter.java +0 -70
  398. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionOffsetFilter.java +0 -64
  399. data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionRangeFilter.java +0 -68
  400. data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementedClassConstantFilter.java +0 -69
  401. data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementedClassFilter.java +0 -71
  402. data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementingClassConstantFilter.java +0 -70
  403. data/lib/proguard4.7/src/proguard/classfile/visitor/LibraryClassFilter.java +0 -60
  404. data/lib/proguard4.7/src/proguard/classfile/visitor/LibraryMemberFilter.java +0 -73
  405. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberAccessFilter.java +0 -122
  406. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberClassAccessFilter.java +0 -106
  407. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberCollector.java +0 -59
  408. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberCounter.java +0 -72
  409. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberDescriptorFilter.java +0 -113
  410. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberNameFilter.java +0 -113
  411. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberToClassVisitor.java +0 -90
  412. data/lib/proguard4.7/src/proguard/classfile/visitor/MemberVisitor.java +0 -40
  413. data/lib/proguard4.7/src/proguard/classfile/visitor/MethodImplementationFilter.java +0 -70
  414. data/lib/proguard4.7/src/proguard/classfile/visitor/MethodImplementationTraveler.java +0 -128
  415. data/lib/proguard4.7/src/proguard/classfile/visitor/MultiClassPoolVisitor.java +0 -88
  416. data/lib/proguard4.7/src/proguard/classfile/visitor/MultiClassVisitor.java +0 -97
  417. data/lib/proguard4.7/src/proguard/classfile/visitor/MultiMemberVisitor.java +0 -113
  418. data/lib/proguard4.7/src/proguard/classfile/visitor/NamedClassVisitor.java +0 -49
  419. data/lib/proguard4.7/src/proguard/classfile/visitor/NamedFieldVisitor.java +0 -61
  420. data/lib/proguard4.7/src/proguard/classfile/visitor/NamedMethodVisitor.java +0 -61
  421. data/lib/proguard4.7/src/proguard/classfile/visitor/ProgramClassFilter.java +0 -60
  422. data/lib/proguard4.7/src/proguard/classfile/visitor/ProgramMemberFilter.java +0 -73
  423. data/lib/proguard4.7/src/proguard/classfile/visitor/ReferencedClassVisitor.java +0 -255
  424. data/lib/proguard4.7/src/proguard/classfile/visitor/ReferencedMemberVisitor.java +0 -73
  425. data/lib/proguard4.7/src/proguard/classfile/visitor/SimilarMemberVisitor.java +0 -125
  426. data/lib/proguard4.7/src/proguard/classfile/visitor/SimpleClassPrinter.java +0 -167
  427. data/lib/proguard4.7/src/proguard/classfile/visitor/SubclassFilter.java +0 -91
  428. data/lib/proguard4.7/src/proguard/classfile/visitor/SubclassTraveler.java +0 -60
  429. data/lib/proguard4.7/src/proguard/classfile/visitor/VariableClassVisitor.java +0 -78
  430. data/lib/proguard4.7/src/proguard/classfile/visitor/VariableMemberVisitor.java +0 -96
  431. data/lib/proguard4.7/src/proguard/classfile/visitor/package.html +0 -40
  432. data/lib/proguard4.7/src/proguard/evaluation/BasicBranchUnit.java +0 -126
  433. data/lib/proguard4.7/src/proguard/evaluation/BasicInvocationUnit.java +0 -425
  434. data/lib/proguard4.7/src/proguard/evaluation/BranchUnit.java +0 -63
  435. data/lib/proguard4.7/src/proguard/evaluation/ClassConstantValueFactory.java +0 -53
  436. data/lib/proguard4.7/src/proguard/evaluation/ConstantValueFactory.java +0 -113
  437. data/lib/proguard4.7/src/proguard/evaluation/InvocationUnit.java +0 -62
  438. data/lib/proguard4.7/src/proguard/evaluation/Processor.java +0 -908
  439. data/lib/proguard4.7/src/proguard/evaluation/Stack.java +0 -560
  440. data/lib/proguard4.7/src/proguard/evaluation/TracedStack.java +0 -342
  441. data/lib/proguard4.7/src/proguard/evaluation/TracedVariables.java +0 -199
  442. data/lib/proguard4.7/src/proguard/evaluation/Variables.java +0 -347
  443. data/lib/proguard4.7/src/proguard/evaluation/value/Category1Value.java +0 -41
  444. data/lib/proguard4.7/src/proguard/evaluation/value/Category2Value.java +0 -41
  445. data/lib/proguard4.7/src/proguard/evaluation/value/ComparisonValue.java +0 -69
  446. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeDoubleValue.java +0 -81
  447. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeFloatValue.java +0 -81
  448. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeIntegerValue.java +0 -87
  449. data/lib/proguard4.7/src/proguard/evaluation/value/CompositeLongValue.java +0 -87
  450. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedByteValue.java +0 -64
  451. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedCharacterValue.java +0 -64
  452. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedDoubleValue.java +0 -64
  453. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedFloatValue.java +0 -64
  454. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedIntegerValue.java +0 -64
  455. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedLongValue.java +0 -64
  456. data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedShortValue.java +0 -64
  457. data/lib/proguard4.7/src/proguard/evaluation/value/DoubleValue.java +0 -359
  458. data/lib/proguard4.7/src/proguard/evaluation/value/FloatValue.java +0 -359
  459. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedDoubleValue.java +0 -67
  460. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedFloatValue.java +0 -67
  461. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedIntegerValue.java +0 -67
  462. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedLongValue.java +0 -67
  463. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedReferenceValue.java +0 -102
  464. data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedValueFactory.java +0 -75
  465. data/lib/proguard4.7/src/proguard/evaluation/value/InstructionOffsetValue.java +0 -307
  466. data/lib/proguard4.7/src/proguard/evaluation/value/IntegerValue.java +0 -1002
  467. data/lib/proguard4.7/src/proguard/evaluation/value/LongValue.java +0 -554
  468. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedDoubleValue.java +0 -71
  469. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedFloatValue.java +0 -71
  470. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedIntegerValue.java +0 -71
  471. data/lib/proguard4.7/src/proguard/evaluation/value/NegatedLongValue.java +0 -71
  472. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularDoubleValue.java +0 -216
  473. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularFloatValue.java +0 -216
  474. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularIntegerValue.java +0 -383
  475. data/lib/proguard4.7/src/proguard/evaluation/value/ParticularLongValue.java +0 -271
  476. data/lib/proguard4.7/src/proguard/evaluation/value/ReferenceValue.java +0 -540
  477. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificDoubleValue.java +0 -186
  478. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificFloatValue.java +0 -186
  479. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificIntegerValue.java +0 -354
  480. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificLongValue.java +0 -259
  481. data/lib/proguard4.7/src/proguard/evaluation/value/SpecificValueFactory.java +0 -97
  482. data/lib/proguard4.7/src/proguard/evaluation/value/TopValue.java +0 -79
  483. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownDoubleValue.java +0 -125
  484. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownFloatValue.java +0 -125
  485. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownIntegerValue.java +0 -216
  486. data/lib/proguard4.7/src/proguard/evaluation/value/UnknownLongValue.java +0 -160
  487. data/lib/proguard4.7/src/proguard/evaluation/value/Value.java +0 -169
  488. data/lib/proguard4.7/src/proguard/evaluation/value/ValueFactory.java +0 -193
  489. data/lib/proguard4.7/src/proguard/evaluation/value/package.html +0 -3
  490. data/lib/proguard4.7/src/proguard/gui/ClassPathPanel.java +0 -441
  491. data/lib/proguard4.7/src/proguard/gui/ClassSpecificationDialog.java +0 -546
  492. data/lib/proguard4.7/src/proguard/gui/ClassSpecificationsPanel.java +0 -231
  493. data/lib/proguard4.7/src/proguard/gui/ExtensionFileFilter.java +0 -78
  494. data/lib/proguard4.7/src/proguard/gui/FilterBuilder.java +0 -208
  495. data/lib/proguard4.7/src/proguard/gui/FilterDialog.java +0 -320
  496. data/lib/proguard4.7/src/proguard/gui/GUIResources.java +0 -56
  497. data/lib/proguard4.7/src/proguard/gui/GUIResources.properties +0 -643
  498. data/lib/proguard4.7/src/proguard/gui/KeepSpecificationsPanel.java +0 -81
  499. data/lib/proguard4.7/src/proguard/gui/ListPanel.java +0 -341
  500. data/lib/proguard4.7/src/proguard/gui/MANIFEST.MF +0 -3
  501. data/lib/proguard4.7/src/proguard/gui/MemberSpecificationDialog.java +0 -509
  502. data/lib/proguard4.7/src/proguard/gui/MemberSpecificationsPanel.java +0 -304
  503. data/lib/proguard4.7/src/proguard/gui/MessageDialogRunnable.java +0 -90
  504. data/lib/proguard4.7/src/proguard/gui/OptimizationsDialog.java +0 -251
  505. data/lib/proguard4.7/src/proguard/gui/ProGuardGUI.java +0 -1777
  506. data/lib/proguard4.7/src/proguard/gui/ProGuardRunnable.java +0 -154
  507. data/lib/proguard4.7/src/proguard/gui/ReTraceRunnable.java +0 -149
  508. data/lib/proguard4.7/src/proguard/gui/SwingUtil.java +0 -82
  509. data/lib/proguard4.7/src/proguard/gui/TabbedPane.java +0 -229
  510. data/lib/proguard4.7/src/proguard/gui/TextAreaOutputStream.java +0 -81
  511. data/lib/proguard4.7/src/proguard/gui/arrow.gif +0 -0
  512. data/lib/proguard4.7/src/proguard/gui/boilerplate.pro +0 -410
  513. data/lib/proguard4.7/src/proguard/gui/default.pro +0 -318
  514. data/lib/proguard4.7/src/proguard/gui/package.html +0 -3
  515. data/lib/proguard4.7/src/proguard/gui/splash/BufferedSprite.java +0 -145
  516. data/lib/proguard4.7/src/proguard/gui/splash/CircleSprite.java +0 -74
  517. data/lib/proguard4.7/src/proguard/gui/splash/ClipSprite.java +0 -85
  518. data/lib/proguard4.7/src/proguard/gui/splash/ColorSprite.java +0 -65
  519. data/lib/proguard4.7/src/proguard/gui/splash/CompositeSprite.java +0 -56
  520. data/lib/proguard4.7/src/proguard/gui/splash/ConstantColor.java +0 -51
  521. data/lib/proguard4.7/src/proguard/gui/splash/ConstantDouble.java +0 -49
  522. data/lib/proguard4.7/src/proguard/gui/splash/ConstantFont.java +0 -46
  523. data/lib/proguard4.7/src/proguard/gui/splash/ConstantInt.java +0 -49
  524. data/lib/proguard4.7/src/proguard/gui/splash/ConstantString.java +0 -49
  525. data/lib/proguard4.7/src/proguard/gui/splash/ConstantTiming.java +0 -57
  526. data/lib/proguard4.7/src/proguard/gui/splash/FontSprite.java +0 -65
  527. data/lib/proguard4.7/src/proguard/gui/splash/ImageSprite.java +0 -76
  528. data/lib/proguard4.7/src/proguard/gui/splash/LinearColor.java +0 -72
  529. data/lib/proguard4.7/src/proguard/gui/splash/LinearDouble.java +0 -55
  530. data/lib/proguard4.7/src/proguard/gui/splash/LinearInt.java +0 -55
  531. data/lib/proguard4.7/src/proguard/gui/splash/LinearTiming.java +0 -55
  532. data/lib/proguard4.7/src/proguard/gui/splash/OverrideGraphics2D.java +0 -598
  533. data/lib/proguard4.7/src/proguard/gui/splash/RectangleSprite.java +0 -114
  534. data/lib/proguard4.7/src/proguard/gui/splash/SawToothTiming.java +0 -53
  535. data/lib/proguard4.7/src/proguard/gui/splash/ShadowedSprite.java +0 -109
  536. data/lib/proguard4.7/src/proguard/gui/splash/SineTiming.java +0 -53
  537. data/lib/proguard4.7/src/proguard/gui/splash/SmoothTiming.java +0 -66
  538. data/lib/proguard4.7/src/proguard/gui/splash/SplashPanel.java +0 -235
  539. data/lib/proguard4.7/src/proguard/gui/splash/Sprite.java +0 -41
  540. data/lib/proguard4.7/src/proguard/gui/splash/TextSprite.java +0 -89
  541. data/lib/proguard4.7/src/proguard/gui/splash/TimeSwitchSprite.java +0 -75
  542. data/lib/proguard4.7/src/proguard/gui/splash/Timing.java +0 -34
  543. data/lib/proguard4.7/src/proguard/gui/splash/TypeWriterString.java +0 -71
  544. data/lib/proguard4.7/src/proguard/gui/splash/VariableColor.java +0 -36
  545. data/lib/proguard4.7/src/proguard/gui/splash/VariableDouble.java +0 -34
  546. data/lib/proguard4.7/src/proguard/gui/splash/VariableFont.java +0 -36
  547. data/lib/proguard4.7/src/proguard/gui/splash/VariableInt.java +0 -34
  548. data/lib/proguard4.7/src/proguard/gui/splash/VariableSizeFont.java +0 -65
  549. data/lib/proguard4.7/src/proguard/gui/splash/VariableString.java +0 -34
  550. data/lib/proguard4.7/src/proguard/gui/splash/package.html +0 -4
  551. data/lib/proguard4.7/src/proguard/gui/vtitle.png +0 -0
  552. data/lib/proguard4.7/src/proguard/io/CascadingDataEntryWriter.java +0 -94
  553. data/lib/proguard4.7/src/proguard/io/ClassFilter.java +0 -59
  554. data/lib/proguard4.7/src/proguard/io/ClassReader.java +0 -115
  555. data/lib/proguard4.7/src/proguard/io/ClassRewriter.java +0 -80
  556. data/lib/proguard4.7/src/proguard/io/DataEntry.java +0 -62
  557. data/lib/proguard4.7/src/proguard/io/DataEntryClassWriter.java +0 -85
  558. data/lib/proguard4.7/src/proguard/io/DataEntryCopier.java +0 -247
  559. data/lib/proguard4.7/src/proguard/io/DataEntryDirectoryFilter.java +0 -40
  560. data/lib/proguard4.7/src/proguard/io/DataEntryFilter.java +0 -38
  561. data/lib/proguard4.7/src/proguard/io/DataEntryNameFilter.java +0 -54
  562. data/lib/proguard4.7/src/proguard/io/DataEntryObfuscator.java +0 -150
  563. data/lib/proguard4.7/src/proguard/io/DataEntryParentFilter.java +0 -51
  564. data/lib/proguard4.7/src/proguard/io/DataEntryPump.java +0 -43
  565. data/lib/proguard4.7/src/proguard/io/DataEntryReader.java +0 -38
  566. data/lib/proguard4.7/src/proguard/io/DataEntryRenamer.java +0 -104
  567. data/lib/proguard4.7/src/proguard/io/DataEntryRewriter.java +0 -148
  568. data/lib/proguard4.7/src/proguard/io/DataEntryWriter.java +0 -73
  569. data/lib/proguard4.7/src/proguard/io/DirectoryFilter.java +0 -58
  570. data/lib/proguard4.7/src/proguard/io/DirectoryPump.java +0 -78
  571. data/lib/proguard4.7/src/proguard/io/DirectoryWriter.java +0 -165
  572. data/lib/proguard4.7/src/proguard/io/FileDataEntry.java +0 -96
  573. data/lib/proguard4.7/src/proguard/io/FilteredDataEntryReader.java +0 -90
  574. data/lib/proguard4.7/src/proguard/io/FilteredDataEntryWriter.java +0 -125
  575. data/lib/proguard4.7/src/proguard/io/Finisher.java +0 -37
  576. data/lib/proguard4.7/src/proguard/io/JarReader.java +0 -75
  577. data/lib/proguard4.7/src/proguard/io/JarWriter.java +0 -235
  578. data/lib/proguard4.7/src/proguard/io/ManifestRewriter.java +0 -216
  579. data/lib/proguard4.7/src/proguard/io/NameFilter.java +0 -83
  580. data/lib/proguard4.7/src/proguard/io/ParentDataEntryWriter.java +0 -75
  581. data/lib/proguard4.7/src/proguard/io/RenamedDataEntry.java +0 -83
  582. data/lib/proguard4.7/src/proguard/io/ZipDataEntry.java +0 -98
  583. data/lib/proguard4.7/src/proguard/io/package.html +0 -4
  584. data/lib/proguard4.7/src/proguard/obfuscate/AttributeShrinker.java +0 -120
  585. data/lib/proguard4.7/src/proguard/obfuscate/AttributeUsageMarker.java +0 -71
  586. data/lib/proguard4.7/src/proguard/obfuscate/ClassObfuscator.java +0 -533
  587. data/lib/proguard4.7/src/proguard/obfuscate/ClassRenamer.java +0 -109
  588. data/lib/proguard4.7/src/proguard/obfuscate/DictionaryNameFactory.java +0 -189
  589. data/lib/proguard4.7/src/proguard/obfuscate/MapCleaner.java +0 -57
  590. data/lib/proguard4.7/src/proguard/obfuscate/MappingKeeper.java +0 -177
  591. data/lib/proguard4.7/src/proguard/obfuscate/MappingPrinter.java +0 -147
  592. data/lib/proguard4.7/src/proguard/obfuscate/MappingProcessor.java +0 -79
  593. data/lib/proguard4.7/src/proguard/obfuscate/MappingReader.java +0 -199
  594. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameCleaner.java +0 -60
  595. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameCollector.java +0 -106
  596. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameConflictFixer.java +0 -159
  597. data/lib/proguard4.7/src/proguard/obfuscate/MemberNameFilter.java +0 -120
  598. data/lib/proguard4.7/src/proguard/obfuscate/MemberObfuscator.java +0 -230
  599. data/lib/proguard4.7/src/proguard/obfuscate/MemberSpecialNameFilter.java +0 -101
  600. data/lib/proguard4.7/src/proguard/obfuscate/MultiMappingProcessor.java +0 -96
  601. data/lib/proguard4.7/src/proguard/obfuscate/NameFactory.java +0 -34
  602. data/lib/proguard4.7/src/proguard/obfuscate/NameFactoryResetter.java +0 -59
  603. data/lib/proguard4.7/src/proguard/obfuscate/NameMarker.java +0 -166
  604. data/lib/proguard4.7/src/proguard/obfuscate/NumericNameFactory.java +0 -49
  605. data/lib/proguard4.7/src/proguard/obfuscate/Obfuscator.java +0 -445
  606. data/lib/proguard4.7/src/proguard/obfuscate/ParameterNameMarker.java +0 -128
  607. data/lib/proguard4.7/src/proguard/obfuscate/SimpleNameFactory.java +0 -156
  608. data/lib/proguard4.7/src/proguard/obfuscate/SourceFileRenamer.java +0 -84
  609. data/lib/proguard4.7/src/proguard/obfuscate/SpecialNameFactory.java +0 -83
  610. data/lib/proguard4.7/src/proguard/obfuscate/package.html +0 -3
  611. data/lib/proguard4.7/src/proguard/optimize/BootstrapMethodArgumentShrinker.java +0 -103
  612. data/lib/proguard4.7/src/proguard/optimize/ChangedCodePrinter.java +0 -297
  613. data/lib/proguard4.7/src/proguard/optimize/ConstantMemberFilter.java +0 -77
  614. data/lib/proguard4.7/src/proguard/optimize/ConstantParameterFilter.java +0 -79
  615. data/lib/proguard4.7/src/proguard/optimize/DuplicateInitializerFixer.java +0 -215
  616. data/lib/proguard4.7/src/proguard/optimize/DuplicateInitializerInvocationFixer.java +0 -161
  617. data/lib/proguard4.7/src/proguard/optimize/KeepMarker.java +0 -95
  618. data/lib/proguard4.7/src/proguard/optimize/KeptClassFilter.java +0 -69
  619. data/lib/proguard4.7/src/proguard/optimize/KeptMemberFilter.java +0 -88
  620. data/lib/proguard4.7/src/proguard/optimize/MemberDescriptorSpecializer.java +0 -138
  621. data/lib/proguard4.7/src/proguard/optimize/MethodDescriptorShrinker.java +0 -317
  622. data/lib/proguard4.7/src/proguard/optimize/MethodStaticizer.java +0 -87
  623. data/lib/proguard4.7/src/proguard/optimize/OptimizationInfoMemberFilter.java +0 -94
  624. data/lib/proguard4.7/src/proguard/optimize/Optimizer.java +0 -963
  625. data/lib/proguard4.7/src/proguard/optimize/ParameterShrinker.java +0 -146
  626. data/lib/proguard4.7/src/proguard/optimize/TailRecursionSimplifier.java +0 -356
  627. data/lib/proguard4.7/src/proguard/optimize/WriteOnlyFieldFilter.java +0 -65
  628. data/lib/proguard4.7/src/proguard/optimize/evaluation/EvaluationShrinker.java +0 -2082
  629. data/lib/proguard4.7/src/proguard/optimize/evaluation/EvaluationSimplifier.java +0 -973
  630. data/lib/proguard4.7/src/proguard/optimize/evaluation/LivenessAnalyzer.java +0 -526
  631. data/lib/proguard4.7/src/proguard/optimize/evaluation/LoadingInvocationUnit.java +0 -195
  632. data/lib/proguard4.7/src/proguard/optimize/evaluation/PartialEvaluator.java +0 -1282
  633. data/lib/proguard4.7/src/proguard/optimize/evaluation/StoringInvocationUnit.java +0 -207
  634. data/lib/proguard4.7/src/proguard/optimize/evaluation/TracedBranchUnit.java +0 -59
  635. data/lib/proguard4.7/src/proguard/optimize/evaluation/VariableOptimizer.java +0 -345
  636. data/lib/proguard4.7/src/proguard/optimize/evaluation/package.html +0 -4
  637. data/lib/proguard4.7/src/proguard/optimize/info/AccessMethodMarker.java +0 -202
  638. data/lib/proguard4.7/src/proguard/optimize/info/BackwardBranchMarker.java +0 -90
  639. data/lib/proguard4.7/src/proguard/optimize/info/CatchExceptionMarker.java +0 -69
  640. data/lib/proguard4.7/src/proguard/optimize/info/CaughtClassFilter.java +0 -63
  641. data/lib/proguard4.7/src/proguard/optimize/info/CaughtClassMarker.java +0 -64
  642. data/lib/proguard4.7/src/proguard/optimize/info/ClassOptimizationInfo.java +0 -165
  643. data/lib/proguard4.7/src/proguard/optimize/info/ClassOptimizationInfoSetter.java +0 -47
  644. data/lib/proguard4.7/src/proguard/optimize/info/DotClassFilter.java +0 -63
  645. data/lib/proguard4.7/src/proguard/optimize/info/DotClassMarker.java +0 -96
  646. data/lib/proguard4.7/src/proguard/optimize/info/ExceptionInstructionChecker.java +0 -193
  647. data/lib/proguard4.7/src/proguard/optimize/info/FieldOptimizationInfo.java +0 -204
  648. data/lib/proguard4.7/src/proguard/optimize/info/InstanceofClassFilter.java +0 -63
  649. data/lib/proguard4.7/src/proguard/optimize/info/InstanceofClassMarker.java +0 -93
  650. data/lib/proguard4.7/src/proguard/optimize/info/InstantiationClassFilter.java +0 -62
  651. data/lib/proguard4.7/src/proguard/optimize/info/InstantiationClassMarker.java +0 -93
  652. data/lib/proguard4.7/src/proguard/optimize/info/MemberOptimizationInfoSetter.java +0 -59
  653. data/lib/proguard4.7/src/proguard/optimize/info/MethodInvocationMarker.java +0 -107
  654. data/lib/proguard4.7/src/proguard/optimize/info/MethodOptimizationInfo.java +0 -302
  655. data/lib/proguard4.7/src/proguard/optimize/info/NoSideEffectMethodMarker.java +0 -91
  656. data/lib/proguard4.7/src/proguard/optimize/info/NonPrivateMemberMarker.java +0 -171
  657. data/lib/proguard4.7/src/proguard/optimize/info/PackageVisibleMemberContainingClassMarker.java +0 -85
  658. data/lib/proguard4.7/src/proguard/optimize/info/PackageVisibleMemberInvokingClassMarker.java +0 -129
  659. data/lib/proguard4.7/src/proguard/optimize/info/ParameterUsageMarker.java +0 -285
  660. data/lib/proguard4.7/src/proguard/optimize/info/ReadWriteFieldMarker.java +0 -163
  661. data/lib/proguard4.7/src/proguard/optimize/info/SideEffectInstructionChecker.java +0 -245
  662. data/lib/proguard4.7/src/proguard/optimize/info/SideEffectMethodMarker.java +0 -175
  663. data/lib/proguard4.7/src/proguard/optimize/info/StaticInitializerContainingClassFilter.java +0 -62
  664. data/lib/proguard4.7/src/proguard/optimize/info/StaticInitializerContainingClassMarker.java +0 -65
  665. data/lib/proguard4.7/src/proguard/optimize/info/SuperInvocationMarker.java +0 -93
  666. data/lib/proguard4.7/src/proguard/optimize/info/VariableUsageMarker.java +0 -96
  667. data/lib/proguard4.7/src/proguard/optimize/info/package.html +0 -4
  668. data/lib/proguard4.7/src/proguard/optimize/package.html +0 -4
  669. data/lib/proguard4.7/src/proguard/optimize/peephole/BranchTargetFinder.java +0 -687
  670. data/lib/proguard4.7/src/proguard/optimize/peephole/ClassFinalizer.java +0 -84
  671. data/lib/proguard4.7/src/proguard/optimize/peephole/ClassMerger.java +0 -576
  672. data/lib/proguard4.7/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java +0 -266
  673. data/lib/proguard4.7/src/proguard/optimize/peephole/GotoGotoReplacer.java +0 -115
  674. data/lib/proguard4.7/src/proguard/optimize/peephole/GotoReturnReplacer.java +0 -115
  675. data/lib/proguard4.7/src/proguard/optimize/peephole/HorizontalClassMerger.java +0 -90
  676. data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequenceConstants.java +0 -4424
  677. data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequenceReplacer.java +0 -420
  678. data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequencesReplacer.java +0 -138
  679. data/lib/proguard4.7/src/proguard/optimize/peephole/MemberPrivatizer.java +0 -103
  680. data/lib/proguard4.7/src/proguard/optimize/peephole/MethodFinalizer.java +0 -93
  681. data/lib/proguard4.7/src/proguard/optimize/peephole/MethodInliner.java +0 -597
  682. data/lib/proguard4.7/src/proguard/optimize/peephole/NopRemover.java +0 -89
  683. data/lib/proguard4.7/src/proguard/optimize/peephole/PeepholeOptimizer.java +0 -103
  684. data/lib/proguard4.7/src/proguard/optimize/peephole/ReachableCodeMarker.java +0 -262
  685. data/lib/proguard4.7/src/proguard/optimize/peephole/RetargetedInnerClassAttributeRemover.java +0 -170
  686. data/lib/proguard4.7/src/proguard/optimize/peephole/TargetClassChanger.java +0 -455
  687. data/lib/proguard4.7/src/proguard/optimize/peephole/UnreachableCodeRemover.java +0 -143
  688. data/lib/proguard4.7/src/proguard/optimize/peephole/UnreachableExceptionRemover.java +0 -163
  689. data/lib/proguard4.7/src/proguard/optimize/peephole/VariableShrinker.java +0 -129
  690. data/lib/proguard4.7/src/proguard/optimize/peephole/VerticalClassMerger.java +0 -88
  691. data/lib/proguard4.7/src/proguard/optimize/peephole/package.html +0 -3
  692. data/lib/proguard4.7/src/proguard/package.html +0 -5
  693. data/lib/proguard4.7/src/proguard/preverify/CodePreverifier.java +0 -611
  694. data/lib/proguard4.7/src/proguard/preverify/CodeSubroutineInliner.java +0 -406
  695. data/lib/proguard4.7/src/proguard/preverify/Preverifier.java +0 -73
  696. data/lib/proguard4.7/src/proguard/preverify/SubroutineInliner.java +0 -73
  697. data/lib/proguard4.7/src/proguard/retrace/MANIFEST.MF +0 -3
  698. data/lib/proguard4.7/src/proguard/retrace/ReTrace.java +0 -749
  699. data/lib/proguard4.7/src/proguard/retrace/package.html +0 -4
  700. data/lib/proguard4.7/src/proguard/shrink/AnnotationUsageMarker.java +0 -333
  701. data/lib/proguard4.7/src/proguard/shrink/ClassShrinker.java +0 -458
  702. data/lib/proguard4.7/src/proguard/shrink/InnerUsageMarker.java +0 -174
  703. data/lib/proguard4.7/src/proguard/shrink/InterfaceUsageMarker.java +0 -152
  704. data/lib/proguard4.7/src/proguard/shrink/ShortestUsageMark.java +0 -183
  705. data/lib/proguard4.7/src/proguard/shrink/ShortestUsageMarker.java +0 -277
  706. data/lib/proguard4.7/src/proguard/shrink/ShortestUsagePrinter.java +0 -210
  707. data/lib/proguard4.7/src/proguard/shrink/Shrinker.java +0 -181
  708. data/lib/proguard4.7/src/proguard/shrink/UsageMarker.java +0 -1036
  709. data/lib/proguard4.7/src/proguard/shrink/UsagePrinter.java +0 -177
  710. data/lib/proguard4.7/src/proguard/shrink/UsedClassFilter.java +0 -74
  711. data/lib/proguard4.7/src/proguard/shrink/UsedMemberFilter.java +0 -93
  712. data/lib/proguard4.7/src/proguard/shrink/package.html +0 -3
  713. data/lib/proguard4.7/src/proguard/util/AndMatcher.java +0 -49
  714. data/lib/proguard4.7/src/proguard/util/ClassNameParser.java +0 -216
  715. data/lib/proguard4.7/src/proguard/util/ConstantMatcher.java +0 -48
  716. data/lib/proguard4.7/src/proguard/util/EmptyStringMatcher.java +0 -36
  717. data/lib/proguard4.7/src/proguard/util/ExtensionMatcher.java +0 -63
  718. data/lib/proguard4.7/src/proguard/util/FileNameParser.java +0 -121
  719. data/lib/proguard4.7/src/proguard/util/FixedStringMatcher.java +0 -56
  720. data/lib/proguard4.7/src/proguard/util/ListMatcher.java +0 -69
  721. data/lib/proguard4.7/src/proguard/util/ListParser.java +0 -137
  722. data/lib/proguard4.7/src/proguard/util/ListUtil.java +0 -180
  723. data/lib/proguard4.7/src/proguard/util/NameParser.java +0 -106
  724. data/lib/proguard4.7/src/proguard/util/NotMatcher.java +0 -46
  725. data/lib/proguard4.7/src/proguard/util/OrMatcher.java +0 -49
  726. data/lib/proguard4.7/src/proguard/util/SettableMatcher.java +0 -46
  727. data/lib/proguard4.7/src/proguard/util/StringMatcher.java +0 -38
  728. data/lib/proguard4.7/src/proguard/util/StringParser.java +0 -35
  729. data/lib/proguard4.7/src/proguard/util/VariableStringMatcher.java +0 -126
  730. data/lib/proguard4.7/src/proguard/util/package.html +0 -3
  731. data/lib/proguard4.7/src/proguard/wtk/ProGuardObfuscator.java +0 -141
  732. data/lib/proguard4.7/src/proguard/wtk/default.pro +0 -114
  733. data/lib/proguard4.7/src/proguard/wtk/package.html +0 -3
@@ -1,63 +0,0 @@
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.evaluation;
22
-
23
- import proguard.classfile.Clazz;
24
- import proguard.classfile.attribute.CodeAttribute;
25
-
26
- /**
27
- * This InstructionVisitor evaluates the instructions that it visits.
28
- *
29
- * @author Eric Lafortune
30
- */
31
- public interface BranchUnit
32
- {
33
- /**
34
- * Sets the new instruction offset.
35
- */
36
- public void branch(Clazz clazz,
37
- CodeAttribute codeAttribute,
38
- int offset,
39
- int branchTarget);
40
-
41
-
42
- /**
43
- * Sets the new instruction offset, depending on the certainty of the
44
- * conditional branch.
45
- */
46
- public void branchConditionally(Clazz clazz,
47
- CodeAttribute codeAttribute,
48
- int offset,
49
- int branchTarget,
50
- int conditional);
51
-
52
-
53
- /**
54
- * Returns from the method with the given value.
55
- */
56
- public void returnFromMethod();
57
-
58
-
59
- /**
60
- * Handles the throwing of an exception.
61
- */
62
- public void throwException();
63
- }
@@ -1,53 +0,0 @@
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.evaluation;
22
-
23
- import proguard.classfile.*;
24
- import proguard.classfile.constant.*;
25
- import proguard.classfile.constant.visitor.ConstantVisitor;
26
- import proguard.classfile.util.SimplifiedVisitor;
27
- import proguard.evaluation.value.*;
28
-
29
- /**
30
- * This class creates java.lang.Class ReferenceValue instances that correspond
31
- * to specified constant pool entries.
32
- *
33
- * @author Eric Lafortune
34
- */
35
- public class ClassConstantValueFactory
36
- extends ConstantValueFactory
37
- {
38
- public ClassConstantValueFactory(ValueFactory valueFactory)
39
- {
40
- super(valueFactory);
41
- }
42
-
43
-
44
- // Implementations for ConstantVisitor.
45
-
46
- public void visitClassConstant(Clazz clazz, ClassConstant classConstant)
47
- {
48
- // Create a Class reference instead of a reference to the class.
49
- value = valueFactory.createReferenceValue(ClassConstants.INTERNAL_NAME_JAVA_LANG_CLASS,
50
- classConstant.javaLangClassClass,
51
- false);
52
- }
53
- }
@@ -1,113 +0,0 @@
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.evaluation;
22
-
23
- import proguard.classfile.*;
24
- import proguard.classfile.constant.*;
25
- import proguard.classfile.constant.visitor.ConstantVisitor;
26
- import proguard.classfile.util.SimplifiedVisitor;
27
- import proguard.evaluation.value.*;
28
-
29
- /**
30
- * This class creates Value instance that correspond to specified constant pool
31
- * entries.
32
- *
33
- * @author Eric Lafortune
34
- */
35
- public class ConstantValueFactory
36
- extends SimplifiedVisitor
37
- implements ConstantVisitor
38
- {
39
- protected final ValueFactory valueFactory;
40
-
41
- // Field acting as a parameter for the ConstantVisitor methods.
42
- protected Value value;
43
-
44
-
45
- public ConstantValueFactory(ValueFactory valueFactory)
46
- {
47
- this.valueFactory = valueFactory;
48
- }
49
-
50
-
51
- /**
52
- * Returns the Value of the constant pool element at the given index.
53
- */
54
- public Value constantValue(Clazz clazz,
55
- int constantIndex)
56
- {
57
- // Visit the constant pool entry to get its return value.
58
- clazz.constantPoolEntryAccept(constantIndex, this);
59
-
60
- return value;
61
- }
62
-
63
-
64
- // Implementations for ConstantVisitor.
65
-
66
- public void visitIntegerConstant(Clazz clazz, IntegerConstant integerConstant)
67
- {
68
- value = valueFactory.createIntegerValue(integerConstant.getValue());
69
- }
70
-
71
- public void visitLongConstant(Clazz clazz, LongConstant longConstant)
72
- {
73
- value = valueFactory.createLongValue(longConstant.getValue());
74
- }
75
-
76
- public void visitFloatConstant(Clazz clazz, FloatConstant floatConstant)
77
- {
78
- value = valueFactory.createFloatValue(floatConstant.getValue());
79
- }
80
-
81
- public void visitDoubleConstant(Clazz clazz, DoubleConstant doubleConstant)
82
- {
83
- value = valueFactory.createDoubleValue(doubleConstant.getValue());
84
- }
85
-
86
- public void visitStringConstant(Clazz clazz, StringConstant stringConstant)
87
- {
88
- value = valueFactory.createReferenceValue(ClassConstants.INTERNAL_NAME_JAVA_LANG_STRING,
89
- stringConstant.javaLangStringClass,
90
- false);
91
- }
92
-
93
- public void visitMethodHandleConstant(Clazz clazz, MethodHandleConstant methodHandleConstant)
94
- {
95
- value = valueFactory.createReferenceValue(ClassConstants.INTERNAL_NAME_JAVA_LANG_INVOKE_METHOD_HANDLE,
96
- methodHandleConstant.javaLangInvokeMethodHandleClass,
97
- false);
98
- }
99
-
100
- public void visitClassConstant(Clazz clazz, ClassConstant classConstant)
101
- {
102
- value = valueFactory.createReferenceValue(classConstant.getName(clazz),
103
- classConstant.referencedClass,
104
- false);
105
- }
106
-
107
- public void visitMethodTypeConstant(Clazz clazz, MethodTypeConstant methodTypeConstant)
108
- {
109
- value = valueFactory.createReferenceValue(ClassConstants.INTERNAL_NAME_JAVA_LANG_INVOKE_METHOD_TYPE,
110
- methodTypeConstant.javaLangInvokeMethodTypeClass,
111
- false);
112
- }
113
- }
@@ -1,62 +0,0 @@
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.evaluation;
22
-
23
- import proguard.classfile.*;
24
- import proguard.classfile.attribute.CodeAttribute;
25
- import proguard.classfile.instruction.ConstantInstruction;
26
- import proguard.evaluation.value.Value;
27
-
28
- /**
29
- * This interface sets up the variables for entering a method,
30
- * and it updates the stack for the invocation of a class member.
31
- *
32
- * @author Eric Lafortune
33
- */
34
- public interface InvocationUnit
35
- {
36
- /**
37
- * Sets up the given variables for entering the given method.
38
- */
39
- public void enterMethod(Clazz clazz,
40
- Method method,
41
- Variables variables);
42
-
43
-
44
- /**
45
- * Exits the given method with the given return value.
46
- */
47
- public void exitMethod(Clazz clazz,
48
- Method method,
49
- Value returnValue);
50
-
51
-
52
- /**
53
- * Updates the given stack corresponding to the execution of the given
54
- * field or method reference instruction.
55
- */
56
- public void invokeMember(Clazz clazz,
57
- Method method,
58
- CodeAttribute codeAttribute,
59
- int offset,
60
- ConstantInstruction constantInstruction,
61
- Stack stack);
62
- }
@@ -1,908 +0,0 @@
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.evaluation;
22
-
23
- import proguard.classfile.*;
24
- import proguard.classfile.attribute.CodeAttribute;
25
- import proguard.classfile.instruction.*;
26
- import proguard.classfile.instruction.visitor.InstructionVisitor;
27
- import proguard.evaluation.value.*;
28
-
29
- /**
30
- * This InstructionVisitor executes the instructions that it visits on a given
31
- * local variable frame and stack.
32
- *
33
- * @author Eric Lafortune
34
- */
35
- public class Processor
36
- implements InstructionVisitor
37
- {
38
- private final Variables variables;
39
- private final Stack stack;
40
- private final ValueFactory valueFactory;
41
- private final BranchUnit branchUnit;
42
- private final InvocationUnit invocationUnit;
43
-
44
- private final ConstantValueFactory constantValueFactory;
45
- private final ClassConstantValueFactory classConstantValueFactory;
46
-
47
-
48
- /**
49
- * Creates a new processor that operates on the given environment.
50
- * @param variables the local variable frame.
51
- * @param stack the local stack.
52
- * @param branchUnit the class that can affect the program counter.
53
- * @param invocationUnit the class that can access other program members.
54
- */
55
- public Processor(Variables variables,
56
- Stack stack,
57
- ValueFactory valueFactory,
58
- BranchUnit branchUnit,
59
- InvocationUnit invocationUnit)
60
- {
61
- this.variables = variables;
62
- this.stack = stack;
63
- this.valueFactory = valueFactory;
64
- this.branchUnit = branchUnit;
65
- this.invocationUnit = invocationUnit;
66
-
67
- constantValueFactory = new ConstantValueFactory(valueFactory);
68
- classConstantValueFactory = new ClassConstantValueFactory(valueFactory);
69
- }
70
-
71
-
72
- // Implementations for InstructionVisitor.
73
-
74
- public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction)
75
- {
76
- switch (simpleInstruction.opcode)
77
- {
78
- case InstructionConstants.OP_NOP:
79
- break;
80
-
81
- case InstructionConstants.OP_ACONST_NULL:
82
- stack.push(valueFactory.createReferenceValueNull());
83
- break;
84
-
85
- case InstructionConstants.OP_ICONST_M1:
86
- case InstructionConstants.OP_ICONST_0:
87
- case InstructionConstants.OP_ICONST_1:
88
- case InstructionConstants.OP_ICONST_2:
89
- case InstructionConstants.OP_ICONST_3:
90
- case InstructionConstants.OP_ICONST_4:
91
- case InstructionConstants.OP_ICONST_5:
92
- case InstructionConstants.OP_BIPUSH:
93
- case InstructionConstants.OP_SIPUSH:
94
- stack.push(valueFactory.createIntegerValue(simpleInstruction.constant));
95
- break;
96
-
97
- case InstructionConstants.OP_LCONST_0:
98
- case InstructionConstants.OP_LCONST_1:
99
- stack.push(valueFactory.createLongValue(simpleInstruction.constant));
100
- break;
101
-
102
- case InstructionConstants.OP_FCONST_0:
103
- case InstructionConstants.OP_FCONST_1:
104
- case InstructionConstants.OP_FCONST_2:
105
- stack.push(valueFactory.createFloatValue((float)simpleInstruction.constant));
106
- break;
107
-
108
- case InstructionConstants.OP_DCONST_0:
109
- case InstructionConstants.OP_DCONST_1:
110
- stack.push(valueFactory.createDoubleValue((double)simpleInstruction.constant));
111
- break;
112
-
113
- case InstructionConstants.OP_IALOAD:
114
- case InstructionConstants.OP_BALOAD:
115
- case InstructionConstants.OP_CALOAD:
116
- case InstructionConstants.OP_SALOAD:
117
- stack.ipop();
118
- stack.apop();
119
- stack.push(valueFactory.createIntegerValue());
120
- break;
121
-
122
- case InstructionConstants.OP_LALOAD:
123
- stack.ipop();
124
- stack.apop();
125
- stack.push(valueFactory.createLongValue());
126
- break;
127
-
128
- case InstructionConstants.OP_FALOAD:
129
- stack.ipop();
130
- stack.apop();
131
- stack.push(valueFactory.createFloatValue());
132
- break;
133
-
134
- case InstructionConstants.OP_DALOAD:
135
- stack.ipop();
136
- stack.apop();
137
- stack.push(valueFactory.createDoubleValue());
138
- break;
139
-
140
- case InstructionConstants.OP_AALOAD:
141
- {
142
- IntegerValue arrayIndex = stack.ipop();
143
- ReferenceValue arrayReference = stack.apop();
144
- stack.push(arrayReference.arrayLoad(arrayIndex, valueFactory));
145
- break;
146
- }
147
-
148
- case InstructionConstants.OP_IASTORE:
149
- case InstructionConstants.OP_BASTORE:
150
- case InstructionConstants.OP_CASTORE:
151
- case InstructionConstants.OP_SASTORE:
152
- stack.ipop();
153
- stack.ipop();
154
- stack.apop();
155
- break;
156
-
157
- case InstructionConstants.OP_LASTORE:
158
- stack.lpop();
159
- stack.ipop();
160
- stack.apop();
161
- break;
162
-
163
- case InstructionConstants.OP_FASTORE:
164
- stack.fpop();
165
- stack.ipop();
166
- stack.apop();
167
- break;
168
-
169
- case InstructionConstants.OP_DASTORE:
170
- stack.dpop();
171
- stack.ipop();
172
- stack.apop();
173
- break;
174
-
175
- case InstructionConstants.OP_AASTORE:
176
- stack.apop();
177
- stack.ipop();
178
- stack.apop();
179
- break;
180
-
181
- case InstructionConstants.OP_POP:
182
- stack.pop1();
183
- break;
184
-
185
- case InstructionConstants.OP_POP2:
186
- stack.pop2();
187
- break;
188
-
189
- case InstructionConstants.OP_DUP:
190
- stack.dup();
191
- break;
192
-
193
- case InstructionConstants.OP_DUP_X1:
194
- stack.dup_x1();
195
- break;
196
-
197
- case InstructionConstants.OP_DUP_X2:
198
- stack.dup_x2();
199
- break;
200
-
201
- case InstructionConstants.OP_DUP2:
202
- stack.dup2();
203
- break;
204
-
205
- case InstructionConstants.OP_DUP2_X1:
206
- stack.dup2_x1();
207
- break;
208
-
209
- case InstructionConstants.OP_DUP2_X2:
210
- stack.dup2_x2();
211
- break;
212
-
213
- case InstructionConstants.OP_SWAP:
214
- stack.swap();
215
- break;
216
-
217
- case InstructionConstants.OP_IADD:
218
- stack.push(stack.ipop().add(stack.ipop()));
219
- break;
220
-
221
- case InstructionConstants.OP_LADD:
222
- stack.push(stack.lpop().add(stack.lpop()));
223
- break;
224
-
225
- case InstructionConstants.OP_FADD:
226
- stack.push(stack.fpop().add(stack.fpop()));
227
- break;
228
-
229
- case InstructionConstants.OP_DADD:
230
- stack.push(stack.dpop().add(stack.dpop()));
231
- break;
232
-
233
- case InstructionConstants.OP_ISUB:
234
- stack.push(stack.ipop().subtractFrom(stack.ipop()));
235
- break;
236
-
237
- case InstructionConstants.OP_LSUB:
238
- stack.push(stack.lpop().subtractFrom(stack.lpop()));
239
- break;
240
-
241
- case InstructionConstants.OP_FSUB:
242
- stack.push(stack.fpop().subtractFrom(stack.fpop()));
243
- break;
244
-
245
- case InstructionConstants.OP_DSUB:
246
- stack.push(stack.dpop().subtractFrom(stack.dpop()));
247
- break;
248
-
249
- case InstructionConstants.OP_IMUL:
250
- stack.push(stack.ipop().multiply(stack.ipop()));
251
- break;
252
-
253
- case InstructionConstants.OP_LMUL:
254
- stack.push(stack.lpop().multiply(stack.lpop()));
255
- break;
256
-
257
- case InstructionConstants.OP_FMUL:
258
- stack.push(stack.fpop().multiply(stack.fpop()));
259
- break;
260
-
261
- case InstructionConstants.OP_DMUL:
262
- stack.push(stack.dpop().multiply(stack.dpop()));
263
- break;
264
-
265
- case InstructionConstants.OP_IDIV:
266
- try
267
- {
268
- stack.push(stack.ipop().divideOf(stack.ipop()));
269
- }
270
- catch (ArithmeticException ex)
271
- {
272
- stack.push(valueFactory.createIntegerValue());
273
- // TODO: Forward ArithmeticExceptions.
274
- //stack.clear();
275
- //stack.push(valueFactory.createReference(false));
276
- //branchUnit.throwException();
277
- }
278
- break;
279
-
280
- case InstructionConstants.OP_LDIV:
281
- try
282
- {
283
- stack.push(stack.lpop().divideOf(stack.lpop()));
284
- }
285
- catch (ArithmeticException ex)
286
- {
287
- stack.push(valueFactory.createLongValue());
288
- // TODO: Forward ArithmeticExceptions.
289
- //stack.clear();
290
- //stack.push(valueFactory.createReference(false));
291
- //branchUnit.throwException();
292
- }
293
- break;
294
-
295
- case InstructionConstants.OP_FDIV:
296
- stack.push(stack.fpop().divideOf(stack.fpop()));
297
- break;
298
-
299
- case InstructionConstants.OP_DDIV:
300
- stack.push(stack.dpop().divideOf(stack.dpop()));
301
- break;
302
-
303
- case InstructionConstants.OP_IREM:
304
- try
305
- {
306
- stack.push(stack.ipop().remainderOf(stack.ipop()));
307
- }
308
- catch (ArithmeticException ex)
309
- {
310
- stack.push(valueFactory.createIntegerValue());
311
- // TODO: Forward ArithmeticExceptions.
312
- //stack.clear();
313
- //stack.push(valueFactory.createReference(false));
314
- //branchUnit.throwException();
315
- }
316
- break;
317
-
318
- case InstructionConstants.OP_LREM:
319
- try
320
- {
321
- stack.push(stack.lpop().remainderOf(stack.lpop()));
322
- }
323
- catch (ArithmeticException ex)
324
- {
325
- stack.push(valueFactory.createLongValue());
326
- // TODO: Forward ArithmeticExceptions.
327
- //stack.clear();
328
- //stack.push(valueFactory.createReference(false));
329
- //branchUnit.throwException();
330
- }
331
- break;
332
-
333
- case InstructionConstants.OP_FREM:
334
- stack.push(stack.fpop().remainderOf(stack.fpop()));
335
- break;
336
-
337
- case InstructionConstants.OP_DREM:
338
- stack.push(stack.dpop().remainderOf(stack.dpop()));
339
- break;
340
-
341
- case InstructionConstants.OP_INEG:
342
- stack.push(stack.ipop().negate());
343
- break;
344
-
345
- case InstructionConstants.OP_LNEG:
346
- stack.push(stack.lpop().negate());
347
- break;
348
-
349
- case InstructionConstants.OP_FNEG:
350
- stack.push(stack.fpop().negate());
351
- break;
352
-
353
- case InstructionConstants.OP_DNEG:
354
- stack.push(stack.dpop().negate());
355
- break;
356
-
357
- case InstructionConstants.OP_ISHL:
358
- stack.push(stack.ipop().shiftLeftOf(stack.ipop()));
359
- break;
360
-
361
- case InstructionConstants.OP_LSHL:
362
- stack.push(stack.ipop().shiftLeftOf(stack.lpop()));
363
- break;
364
-
365
- case InstructionConstants.OP_ISHR:
366
- stack.push(stack.ipop().shiftRightOf(stack.ipop()));
367
- break;
368
-
369
- case InstructionConstants.OP_LSHR:
370
- stack.push(stack.ipop().shiftRightOf(stack.lpop()));
371
- break;
372
-
373
- case InstructionConstants.OP_IUSHR:
374
- stack.push(stack.ipop().unsignedShiftRightOf(stack.ipop()));
375
- break;
376
-
377
- case InstructionConstants.OP_LUSHR:
378
- stack.push(stack.ipop().unsignedShiftRightOf(stack.lpop()));
379
- break;
380
-
381
- case InstructionConstants.OP_IAND:
382
- stack.push(stack.ipop().and(stack.ipop()));
383
- break;
384
-
385
- case InstructionConstants.OP_LAND:
386
- stack.push(stack.lpop().and(stack.lpop()));
387
- break;
388
-
389
- case InstructionConstants.OP_IOR:
390
- stack.push(stack.ipop().or(stack.ipop()));
391
- break;
392
-
393
- case InstructionConstants.OP_LOR:
394
- stack.push(stack.lpop().or(stack.lpop()));
395
- break;
396
-
397
- case InstructionConstants.OP_IXOR:
398
- stack.push(stack.ipop().xor(stack.ipop()));
399
- break;
400
-
401
- case InstructionConstants.OP_LXOR:
402
- stack.push(stack.lpop().xor(stack.lpop()));
403
- break;
404
-
405
- case InstructionConstants.OP_I2L:
406
- stack.push(stack.ipop().convertToLong());
407
- break;
408
-
409
- case InstructionConstants.OP_I2F:
410
- stack.push(stack.ipop().convertToFloat());
411
- break;
412
-
413
- case InstructionConstants.OP_I2D:
414
- stack.push(stack.ipop().convertToDouble());
415
- break;
416
-
417
- case InstructionConstants.OP_L2I:
418
- stack.push(stack.lpop().convertToInteger());
419
- break;
420
-
421
- case InstructionConstants.OP_L2F:
422
- stack.push(stack.lpop().convertToFloat());
423
- break;
424
-
425
- case InstructionConstants.OP_L2D:
426
- stack.push(stack.lpop().convertToDouble());
427
- break;
428
-
429
- case InstructionConstants.OP_F2I:
430
- stack.push(stack.fpop().convertToInteger());
431
- break;
432
-
433
- case InstructionConstants.OP_F2L:
434
- stack.push(stack.fpop().convertToLong());
435
- break;
436
-
437
- case InstructionConstants.OP_F2D:
438
- stack.push(stack.fpop().convertToDouble());
439
- break;
440
-
441
- case InstructionConstants.OP_D2I:
442
- stack.push(stack.dpop().convertToInteger());
443
- break;
444
-
445
- case InstructionConstants.OP_D2L:
446
- stack.push(stack.dpop().convertToLong());
447
- break;
448
-
449
- case InstructionConstants.OP_D2F:
450
- stack.push(stack.dpop().convertToFloat());
451
- break;
452
-
453
- case InstructionConstants.OP_I2B:
454
- stack.push(stack.ipop().convertToByte());
455
- break;
456
-
457
- case InstructionConstants.OP_I2C:
458
- stack.push(stack.ipop().convertToCharacter());
459
- break;
460
-
461
- case InstructionConstants.OP_I2S:
462
- stack.push(stack.ipop().convertToShort());
463
- break;
464
-
465
- case InstructionConstants.OP_LCMP:
466
- // stack.push(stack.lpop().compareReverse(stack.lpop()));
467
-
468
- LongValue longValue1 = stack.lpop();
469
- LongValue longValue2 = stack.lpop();
470
- stack.push(longValue2.compare(longValue1));
471
- break;
472
-
473
- case InstructionConstants.OP_FCMPL:
474
- FloatValue floatValue1 = stack.fpop();
475
- FloatValue floatValue2 = stack.fpop();
476
- stack.push(floatValue2.compare(floatValue1));
477
- break;
478
-
479
- case InstructionConstants.OP_FCMPG:
480
- stack.push(stack.fpop().compareReverse(stack.fpop()));
481
- break;
482
-
483
- case InstructionConstants.OP_DCMPL:
484
- DoubleValue doubleValue1 = stack.dpop();
485
- DoubleValue doubleValue2 = stack.dpop();
486
- stack.push(doubleValue2.compare(doubleValue1));
487
- break;
488
-
489
- case InstructionConstants.OP_DCMPG:
490
- stack.push(stack.dpop().compareReverse(stack.dpop()));
491
- break;
492
-
493
- case InstructionConstants.OP_IRETURN:
494
- invocationUnit.exitMethod(clazz, method, stack.ipop());
495
- branchUnit.returnFromMethod();
496
- break;
497
-
498
- case InstructionConstants.OP_LRETURN:
499
- invocationUnit.exitMethod(clazz, method, stack.lpop());
500
- branchUnit.returnFromMethod();
501
- break;
502
-
503
- case InstructionConstants.OP_FRETURN:
504
- invocationUnit.exitMethod(clazz, method, stack.fpop());
505
- branchUnit.returnFromMethod();
506
- break;
507
-
508
- case InstructionConstants.OP_DRETURN:
509
- invocationUnit.exitMethod(clazz, method, stack.dpop());
510
- branchUnit.returnFromMethod();
511
- break;
512
-
513
- case InstructionConstants.OP_ARETURN:
514
- invocationUnit.exitMethod(clazz, method, stack.apop());
515
- branchUnit.returnFromMethod();
516
- break;
517
-
518
- case InstructionConstants.OP_RETURN:
519
- branchUnit.returnFromMethod();
520
- break;
521
-
522
- case InstructionConstants.OP_NEWARRAY:
523
- IntegerValue arrayLength = stack.ipop();
524
- stack.push(valueFactory.createArrayReferenceValue(String.valueOf(InstructionUtil.internalTypeFromArrayType((byte)simpleInstruction.constant)),
525
- null,
526
- arrayLength));
527
- break;
528
-
529
- case InstructionConstants.OP_ARRAYLENGTH:
530
- stack.apop();
531
- stack.push(valueFactory.createIntegerValue());
532
- break;
533
-
534
- case InstructionConstants.OP_ATHROW:
535
- ReferenceValue exceptionReferenceValue = stack.apop();
536
- stack.clear();
537
- stack.push(exceptionReferenceValue);
538
- branchUnit.throwException();
539
- break;
540
-
541
- case InstructionConstants.OP_MONITORENTER:
542
- case InstructionConstants.OP_MONITOREXIT:
543
- stack.apop();
544
- break;
545
-
546
- default:
547
- throw new IllegalArgumentException("Unknown simple instruction ["+simpleInstruction.opcode+"]");
548
- }
549
- }
550
-
551
-
552
- public void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction)
553
- {
554
- int constantIndex = constantInstruction.constantIndex;
555
-
556
- switch (constantInstruction.opcode)
557
- {
558
- case InstructionConstants.OP_LDC:
559
- case InstructionConstants.OP_LDC_W:
560
- case InstructionConstants.OP_LDC2_W:
561
- stack.push(classConstantValueFactory.constantValue(clazz, constantIndex));
562
- break;
563
-
564
- case InstructionConstants.OP_GETSTATIC:
565
- case InstructionConstants.OP_PUTSTATIC:
566
- case InstructionConstants.OP_GETFIELD:
567
- case InstructionConstants.OP_PUTFIELD:
568
- case InstructionConstants.OP_INVOKEVIRTUAL:
569
- case InstructionConstants.OP_INVOKESPECIAL:
570
- case InstructionConstants.OP_INVOKESTATIC:
571
- case InstructionConstants.OP_INVOKEINTERFACE:
572
- case InstructionConstants.OP_INVOKEDYNAMIC:
573
- invocationUnit.invokeMember(clazz, method, codeAttribute, offset, constantInstruction, stack);
574
- break;
575
-
576
- case InstructionConstants.OP_NEW:
577
- stack.push(constantValueFactory.constantValue(clazz, constantIndex).referenceValue());
578
- break;
579
-
580
- case InstructionConstants.OP_ANEWARRAY:
581
- {
582
- ReferenceValue referenceValue = constantValueFactory.constantValue(clazz, constantIndex).referenceValue();
583
-
584
- stack.push(valueFactory.createArrayReferenceValue(referenceValue.internalType(),
585
- referenceValue.getReferencedClass(),
586
- stack.ipop()));
587
- break;
588
- }
589
-
590
- case InstructionConstants.OP_CHECKCAST:
591
- // TODO: Check cast.
592
- ReferenceValue castValue = stack.apop();
593
- ReferenceValue castResultValue =
594
- castValue.isNull() == Value.ALWAYS ? castValue :
595
- castValue.isNull() == Value.NEVER ? constantValueFactory.constantValue(clazz, constantIndex).referenceValue() :
596
- constantValueFactory.constantValue(clazz, constantIndex).referenceValue().generalize(valueFactory.createReferenceValueNull());
597
- stack.push(castResultValue);
598
- break;
599
-
600
- case InstructionConstants.OP_INSTANCEOF:
601
- {
602
- ReferenceValue referenceValue = constantValueFactory.constantValue(clazz, constantIndex).referenceValue();
603
-
604
- int instanceOf = stack.apop().instanceOf(referenceValue.getType(),
605
- referenceValue.getReferencedClass());
606
-
607
- stack.push(instanceOf == Value.NEVER ? valueFactory.createIntegerValue(0) :
608
- instanceOf == Value.ALWAYS ? valueFactory.createIntegerValue(1) :
609
- valueFactory.createIntegerValue());
610
- break;
611
- }
612
-
613
- case InstructionConstants.OP_MULTIANEWARRAY:
614
- {
615
- int dimensionCount = constantInstruction.constant;
616
- for (int dimension = 0; dimension < dimensionCount; dimension++)
617
- {
618
- // TODO: Use array lengths.
619
- IntegerValue arrayLength = stack.ipop();
620
- }
621
-
622
- stack.push(constantValueFactory.constantValue(clazz, constantIndex).referenceValue());
623
- break;
624
- }
625
-
626
- default:
627
- throw new IllegalArgumentException("Unknown constant pool instruction ["+constantInstruction.opcode+"]");
628
- }
629
- }
630
-
631
-
632
- public void visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction)
633
- {
634
- int variableIndex = variableInstruction.variableIndex;
635
-
636
- switch (variableInstruction.opcode)
637
- {
638
- case InstructionConstants.OP_ILOAD:
639
- case InstructionConstants.OP_ILOAD_0:
640
- case InstructionConstants.OP_ILOAD_1:
641
- case InstructionConstants.OP_ILOAD_2:
642
- case InstructionConstants.OP_ILOAD_3:
643
- stack.push(variables.iload(variableIndex));
644
- break;
645
-
646
- case InstructionConstants.OP_LLOAD:
647
- case InstructionConstants.OP_LLOAD_0:
648
- case InstructionConstants.OP_LLOAD_1:
649
- case InstructionConstants.OP_LLOAD_2:
650
- case InstructionConstants.OP_LLOAD_3:
651
- stack.push(variables.lload(variableIndex));
652
- break;
653
-
654
- case InstructionConstants.OP_FLOAD:
655
- case InstructionConstants.OP_FLOAD_0:
656
- case InstructionConstants.OP_FLOAD_1:
657
- case InstructionConstants.OP_FLOAD_2:
658
- case InstructionConstants.OP_FLOAD_3:
659
- stack.push(variables.fload(variableIndex));
660
- break;
661
-
662
- case InstructionConstants.OP_DLOAD:
663
- case InstructionConstants.OP_DLOAD_0:
664
- case InstructionConstants.OP_DLOAD_1:
665
- case InstructionConstants.OP_DLOAD_2:
666
- case InstructionConstants.OP_DLOAD_3:
667
- stack.push(variables.dload(variableIndex));
668
- break;
669
-
670
- case InstructionConstants.OP_ALOAD:
671
- case InstructionConstants.OP_ALOAD_0:
672
- case InstructionConstants.OP_ALOAD_1:
673
- case InstructionConstants.OP_ALOAD_2:
674
- case InstructionConstants.OP_ALOAD_3:
675
- stack.push(variables.aload(variableIndex));
676
- break;
677
-
678
- case InstructionConstants.OP_ISTORE:
679
- case InstructionConstants.OP_ISTORE_0:
680
- case InstructionConstants.OP_ISTORE_1:
681
- case InstructionConstants.OP_ISTORE_2:
682
- case InstructionConstants.OP_ISTORE_3:
683
- variables.store(variableIndex, stack.ipop());
684
- break;
685
-
686
- case InstructionConstants.OP_LSTORE:
687
- case InstructionConstants.OP_LSTORE_0:
688
- case InstructionConstants.OP_LSTORE_1:
689
- case InstructionConstants.OP_LSTORE_2:
690
- case InstructionConstants.OP_LSTORE_3:
691
- variables.store(variableIndex, stack.lpop());
692
- break;
693
-
694
- case InstructionConstants.OP_FSTORE:
695
- case InstructionConstants.OP_FSTORE_0:
696
- case InstructionConstants.OP_FSTORE_1:
697
- case InstructionConstants.OP_FSTORE_2:
698
- case InstructionConstants.OP_FSTORE_3:
699
- variables.store(variableIndex, stack.fpop());
700
- break;
701
-
702
- case InstructionConstants.OP_DSTORE:
703
- case InstructionConstants.OP_DSTORE_0:
704
- case InstructionConstants.OP_DSTORE_1:
705
- case InstructionConstants.OP_DSTORE_2:
706
- case InstructionConstants.OP_DSTORE_3:
707
- variables.store(variableIndex, stack.dpop());
708
- break;
709
-
710
- case InstructionConstants.OP_ASTORE:
711
- case InstructionConstants.OP_ASTORE_0:
712
- case InstructionConstants.OP_ASTORE_1:
713
- case InstructionConstants.OP_ASTORE_2:
714
- case InstructionConstants.OP_ASTORE_3:
715
- // The operand on the stack can be a reference or a return
716
- // address, so we'll relax the pop operation.
717
- //variables.store(variableIndex, stack.apop());
718
- variables.store(variableIndex, stack.pop());
719
- break;
720
-
721
- case InstructionConstants.OP_IINC:
722
- variables.store(variableIndex,
723
- variables.iload(variableIndex).add(
724
- valueFactory.createIntegerValue(variableInstruction.constant)));
725
- break;
726
-
727
- case InstructionConstants.OP_RET:
728
- // The return address should be in the last offset of the
729
- // given instruction offset variable (even though there may
730
- // be other offsets).
731
- InstructionOffsetValue instructionOffsetValue = variables.oload(variableIndex);
732
- branchUnit.branch(clazz,
733
- codeAttribute,
734
- offset,
735
- instructionOffsetValue.instructionOffset(instructionOffsetValue.instructionOffsetCount()-1));
736
- break;
737
-
738
- default:
739
- throw new IllegalArgumentException("Unknown variable instruction ["+variableInstruction.opcode+"]");
740
- }
741
- }
742
-
743
-
744
- public void visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction)
745
- {
746
- int branchTarget = offset + branchInstruction.branchOffset;
747
-
748
- switch (branchInstruction.opcode)
749
- {
750
- case InstructionConstants.OP_IFEQ:
751
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
752
- stack.ipop().equal(valueFactory.createIntegerValue(0)));
753
- break;
754
-
755
- case InstructionConstants.OP_IFNE:
756
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
757
- stack.ipop().notEqual(valueFactory.createIntegerValue(0)));
758
- break;
759
-
760
- case InstructionConstants.OP_IFLT:
761
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
762
- stack.ipop().lessThan(valueFactory.createIntegerValue(0)));
763
- break;
764
-
765
- case InstructionConstants.OP_IFGE:
766
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
767
- stack.ipop().greaterThanOrEqual(valueFactory.createIntegerValue(0)));
768
- break;
769
-
770
- case InstructionConstants.OP_IFGT:
771
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
772
- stack.ipop().greaterThan(valueFactory.createIntegerValue(0)));
773
- break;
774
-
775
- case InstructionConstants.OP_IFLE:
776
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
777
- stack.ipop().lessThanOrEqual(valueFactory.createIntegerValue(0)));
778
- break;
779
-
780
-
781
- case InstructionConstants.OP_IFICMPEQ:
782
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
783
- stack.ipop().equal(stack.ipop()));
784
- break;
785
-
786
- case InstructionConstants.OP_IFICMPNE:
787
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
788
- stack.ipop().notEqual(stack.ipop()));
789
- break;
790
-
791
- case InstructionConstants.OP_IFICMPLT:
792
- // Note that the stack entries are popped in reverse order.
793
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
794
- stack.ipop().greaterThan(stack.ipop()));
795
- break;
796
-
797
- case InstructionConstants.OP_IFICMPGE:
798
- // Note that the stack entries are popped in reverse order.
799
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
800
- stack.ipop().lessThanOrEqual(stack.ipop()));
801
- break;
802
-
803
- case InstructionConstants.OP_IFICMPGT:
804
- // Note that the stack entries are popped in reverse order.
805
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
806
- stack.ipop().lessThan(stack.ipop()));
807
- break;
808
-
809
- case InstructionConstants.OP_IFICMPLE:
810
- // Note that the stack entries are popped in reverse order.
811
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
812
- stack.ipop().greaterThanOrEqual(stack.ipop()));
813
- break;
814
-
815
- case InstructionConstants.OP_IFACMPEQ:
816
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
817
- stack.apop().equal(stack.apop()));
818
- break;
819
-
820
- case InstructionConstants.OP_IFACMPNE:
821
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
822
- stack.apop().notEqual(stack.apop()));
823
- break;
824
-
825
- case InstructionConstants.OP_GOTO:
826
- case InstructionConstants.OP_GOTO_W:
827
- branchUnit.branch(clazz, codeAttribute, offset, branchTarget);
828
- break;
829
-
830
-
831
- case InstructionConstants.OP_JSR:
832
- case InstructionConstants.OP_JSR_W:
833
- stack.push(new InstructionOffsetValue(offset +
834
- branchInstruction.length(offset)));
835
- branchUnit.branch(clazz, codeAttribute, offset, branchTarget);
836
- break;
837
-
838
- case InstructionConstants.OP_IFNULL:
839
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
840
- stack.apop().isNull());
841
- break;
842
-
843
- case InstructionConstants.OP_IFNONNULL:
844
- branchUnit.branchConditionally(clazz, codeAttribute, offset, branchTarget,
845
- stack.apop().isNotNull());
846
- break;
847
-
848
- default:
849
- throw new IllegalArgumentException("Unknown branch instruction ["+branchInstruction.opcode+"]");
850
- }
851
- }
852
-
853
-
854
- public void visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction)
855
- {
856
- IntegerValue indexValue = stack.ipop();
857
-
858
- // If there is no definite branch in any of the cases below,
859
- // branch to the default offset.
860
- branchUnit.branch(clazz, codeAttribute,
861
- offset,
862
- offset + tableSwitchInstruction.defaultOffset);
863
-
864
- for (int index = 0; index < tableSwitchInstruction.jumpOffsets.length; index++)
865
- {
866
- int conditional = indexValue.equal(valueFactory.createIntegerValue(
867
- tableSwitchInstruction.lowCase + index));
868
- branchUnit.branchConditionally(clazz, codeAttribute,
869
- offset,
870
- offset + tableSwitchInstruction.jumpOffsets[index],
871
- conditional);
872
-
873
- // If this branch is always taken, we can skip the rest.
874
- if (conditional == Value.ALWAYS)
875
- {
876
- break;
877
- }
878
- }
879
- }
880
-
881
-
882
- public void visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction)
883
- {
884
- IntegerValue indexValue = stack.ipop();
885
-
886
- // If there is no definite branch in any of the cases below,
887
- // branch to the default offset.
888
- branchUnit.branch(clazz, codeAttribute,
889
- offset,
890
- offset + lookUpSwitchInstruction.defaultOffset);
891
-
892
- for (int index = 0; index < lookUpSwitchInstruction.jumpOffsets.length; index++)
893
- {
894
- int conditional = indexValue.equal(valueFactory.createIntegerValue(
895
- lookUpSwitchInstruction.cases[index]));
896
- branchUnit.branchConditionally(clazz, codeAttribute,
897
- offset,
898
- offset + lookUpSwitchInstruction.jumpOffsets[index],
899
- conditional);
900
-
901
- // If this branch is always taken, we can skip the rest.
902
- if (conditional == Value.ALWAYS)
903
- {
904
- break;
905
- }
906
- }
907
- }
908
- }