diff --git a/src/main/java/com/eclipsesource/json/JsonObject.java b/src/main/java/com/eclipsesource/json/JsonObject.java index 3f580a84..83799fb5 100644 --- a/src/main/java/com/eclipsesource/json/JsonObject.java +++ b/src/main/java/com/eclipsesource/json/JsonObject.java @@ -21,6 +21,8 @@ ******************************************************************************/ package com.eclipsesource.json; +import com.eclipsesource.json.JsonObject.Member; + import java.io.IOException; import java.io.ObjectInputStream; import java.io.Reader; @@ -29,8 +31,6 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; -import com.eclipsesource.json.JsonObject.Member; - /** * Represents a JSON object, a set of name/value pairs, where the names are strings and the values diff --git a/src/main/java/com/eclipsesource/json/JsonValue.java b/src/main/java/com/eclipsesource/json/JsonValue.java index df424313..4c7c6737 100644 --- a/src/main/java/com/eclipsesource/json/JsonValue.java +++ b/src/main/java/com/eclipsesource/json/JsonValue.java @@ -21,11 +21,7 @@ ******************************************************************************/ package com.eclipsesource.json; -import java.io.IOException; -import java.io.Reader; -import java.io.Serializable; -import java.io.StringWriter; -import java.io.Writer; +import java.io.*; /** diff --git a/src/main/java/com/jhe/hexed/JHexEditorASCII.java b/src/main/java/com/jhe/hexed/JHexEditorASCII.java index 0631f84d..84971e5f 100644 --- a/src/main/java/com/jhe/hexed/JHexEditorASCII.java +++ b/src/main/java/com/jhe/hexed/JHexEditorASCII.java @@ -2,7 +2,10 @@ package com.jhe.hexed; import javax.swing.*; import java.awt.*; -import java.awt.event.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; /** * Created by IntelliJ IDEA. User: laullon Date: 09-abr-2003 Time: 12:47:18 diff --git a/src/main/java/com/jhe/hexed/JHexEditorHEX.java b/src/main/java/com/jhe/hexed/JHexEditorHEX.java index 23666cda..ab76d8a4 100644 --- a/src/main/java/com/jhe/hexed/JHexEditorHEX.java +++ b/src/main/java/com/jhe/hexed/JHexEditorHEX.java @@ -2,7 +2,10 @@ package com.jhe.hexed; import javax.swing.*; import java.awt.*; -import java.awt.event.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; /** * Created by IntelliJ IDEA. User: laullon Date: 09-abr-2003 Time: 12:47:32 diff --git a/src/main/java/jd/cli/Main.java b/src/main/java/jd/cli/Main.java index 11004a4f..d9afbfbc 100644 --- a/src/main/java/jd/cli/Main.java +++ b/src/main/java/jd/cli/Main.java @@ -1,8 +1,5 @@ package jd.cli; -import java.io.File; -import java.io.PrintStream; - import jd.cli.loader.DirectoryLoader; import jd.cli.preferences.CommonPreferences; import jd.cli.printer.text.PlainTextPrinter; @@ -10,6 +7,9 @@ import jd.cli.util.ClassFileUtil; import jd.core.Decompiler; import jd.core.process.DecompilerImpl; +import java.io.File; +import java.io.PrintStream; + public class Main { diff --git a/src/main/java/jd/cli/loader/BaseLoader.java b/src/main/java/jd/cli/loader/BaseLoader.java index 67f6979a..9faceca1 100644 --- a/src/main/java/jd/cli/loader/BaseLoader.java +++ b/src/main/java/jd/cli/loader/BaseLoader.java @@ -1,9 +1,9 @@ package jd.cli.loader; -import java.io.File; - import jd.core.loader.Loader; +import java.io.File; + public abstract class BaseLoader implements Loader { protected String codebase; diff --git a/src/main/java/jd/cli/loader/DirectoryLoader.java b/src/main/java/jd/cli/loader/DirectoryLoader.java index 1a85fcaf..ad905f97 100644 --- a/src/main/java/jd/cli/loader/DirectoryLoader.java +++ b/src/main/java/jd/cli/loader/DirectoryLoader.java @@ -1,13 +1,9 @@ package jd.cli.loader; -import java.io.BufferedInputStream; -import java.io.DataInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; - import jd.core.loader.LoaderException; +import java.io.*; + public class DirectoryLoader extends BaseLoader { diff --git a/src/main/java/jd/cli/loader/JarLoader.java b/src/main/java/jd/cli/loader/JarLoader.java index 695d4780..d74a3b40 100644 --- a/src/main/java/jd/cli/loader/JarLoader.java +++ b/src/main/java/jd/cli/loader/JarLoader.java @@ -1,13 +1,13 @@ package jd.cli.loader; +import jd.core.loader.LoaderException; + import java.io.DataInputStream; import java.io.File; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import jd.core.loader.LoaderException; - public class JarLoader extends BaseLoader { diff --git a/src/main/java/jd/cli/loader/LoaderManager.java b/src/main/java/jd/cli/loader/LoaderManager.java index 6a9e949d..9c8d31a7 100644 --- a/src/main/java/jd/cli/loader/LoaderManager.java +++ b/src/main/java/jd/cli/loader/LoaderManager.java @@ -1,11 +1,11 @@ package jd.cli.loader; +import jd.core.loader.LoaderException; + import java.io.File; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import jd.core.loader.LoaderException; - public class LoaderManager { protected final static String JAR_SUFFIX = ".jar"; diff --git a/src/main/java/jd/cli/printer/html/HtmlPrinter.java b/src/main/java/jd/cli/printer/html/HtmlPrinter.java index 0a1b7393..bd007d0b 100644 --- a/src/main/java/jd/cli/printer/html/HtmlPrinter.java +++ b/src/main/java/jd/cli/printer/html/HtmlPrinter.java @@ -1,11 +1,11 @@ package jd.cli.printer.html; -import java.io.PrintStream; - import jd.cli.util.VersionUtil; import jd.core.CoreConstants; import jd.core.printer.Printer; +import java.io.PrintStream; + /* * CSS * .javacode{font-size:11px} diff --git a/src/main/java/jd/cli/printer/text/PlainTextPrinter.java b/src/main/java/jd/cli/printer/text/PlainTextPrinter.java index ae9f6da7..91c834f6 100644 --- a/src/main/java/jd/cli/printer/text/PlainTextPrinter.java +++ b/src/main/java/jd/cli/printer/text/PlainTextPrinter.java @@ -1,11 +1,11 @@ package jd.cli.printer.text; -import java.io.PrintStream; - import jd.cli.preferences.CommonPreferences; import jd.core.model.instruction.bytecode.instruction.Instruction; import jd.core.printer.Printer; +import java.io.PrintStream; + public class PlainTextPrinter implements Printer { protected static final String TAB = " "; diff --git a/src/main/java/org/apache/commons/cli/CommandLine.java b/src/main/java/org/apache/commons/cli/CommandLine.java index bac7bcd1..adf9ab24 100644 --- a/src/main/java/org/apache/commons/cli/CommandLine.java +++ b/src/main/java/org/apache/commons/cli/CommandLine.java @@ -18,12 +18,7 @@ package org.apache.commons.cli; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Properties; +import java.util.*; /** * Represents list of arguments parsed against a {@link Options} descriptor. diff --git a/src/main/java/org/apache/commons/cli/HelpFormatter.java b/src/main/java/org/apache/commons/cli/HelpFormatter.java index 9d9bbddd..9420bd9a 100644 --- a/src/main/java/org/apache/commons/cli/HelpFormatter.java +++ b/src/main/java/org/apache/commons/cli/HelpFormatter.java @@ -17,18 +17,8 @@ package org.apache.commons.cli; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.Serializable; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; +import java.io.*; +import java.util.*; /** * A formatter of help messages for command line options. diff --git a/src/main/java/org/apache/commons/cli/MissingOptionException.java b/src/main/java/org/apache/commons/cli/MissingOptionException.java index b7df24e0..70f98071 100644 --- a/src/main/java/org/apache/commons/cli/MissingOptionException.java +++ b/src/main/java/org/apache/commons/cli/MissingOptionException.java @@ -17,8 +17,8 @@ package org.apache.commons.cli; -import java.util.List; import java.util.Iterator; +import java.util.List; /** * Thrown when a required option has not been provided. diff --git a/src/main/java/org/apache/commons/cli/Options.java b/src/main/java/org/apache/commons/cli/Options.java index ba0af568..b60ef3d6 100644 --- a/src/main/java/org/apache/commons/cli/Options.java +++ b/src/main/java/org/apache/commons/cli/Options.java @@ -18,14 +18,7 @@ package org.apache.commons.cli; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Main entry-point into the library. diff --git a/src/main/java/org/apache/commons/cli/Parser.java b/src/main/java/org/apache/commons/cli/Parser.java index 00252756..15f486a7 100644 --- a/src/main/java/org/apache/commons/cli/Parser.java +++ b/src/main/java/org/apache/commons/cli/Parser.java @@ -17,12 +17,7 @@ package org.apache.commons.cli; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Enumeration; -import java.util.List; -import java.util.ListIterator; -import java.util.Properties; +import java.util.*; /** * Parser creates {@link CommandLine}s. diff --git a/src/main/java/org/apache/commons/cli/TypeHandler.java b/src/main/java/org/apache/commons/cli/TypeHandler.java index cc91274c..ce36c167 100644 --- a/src/main/java/org/apache/commons/cli/TypeHandler.java +++ b/src/main/java/org/apache/commons/cli/TypeHandler.java @@ -18,10 +18,8 @@ package org.apache.commons.cli; import java.io.File; - import java.net.MalformedURLException; import java.net.URL; - import java.util.Date; /** diff --git a/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java b/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java index 8d73442a..e27d0be7 100644 --- a/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java +++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java @@ -17,13 +17,13 @@ package org.apache.commons.codec.binary; -import java.util.Arrays; - import org.apache.commons.codec.BinaryDecoder; import org.apache.commons.codec.BinaryEncoder; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.EncoderException; +import java.util.Arrays; + /** * Abstract superclass for Base-N encoders and decoders. * diff --git a/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java b/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java index 30b2cb3a..9448768d 100644 --- a/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java +++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java @@ -17,13 +17,13 @@ package org.apache.commons.codec.binary; -import static org.apache.commons.codec.binary.BaseNCodec.EOF; +import org.apache.commons.codec.binary.BaseNCodec.Context; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; -import org.apache.commons.codec.binary.BaseNCodec.Context; +import static org.apache.commons.codec.binary.BaseNCodec.EOF; /** * Abstract superclass for Base-N input streams. diff --git a/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java b/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java index 90d2f535..aa485e66 100644 --- a/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java +++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java @@ -17,13 +17,13 @@ package org.apache.commons.codec.binary; -import static org.apache.commons.codec.binary.BaseNCodec.EOF; +import org.apache.commons.codec.binary.BaseNCodec.Context; import java.io.FilterOutputStream; import java.io.IOException; import java.io.OutputStream; -import org.apache.commons.codec.binary.BaseNCodec.Context; +import static org.apache.commons.codec.binary.BaseNCodec.EOF; /** * Abstract superclass for Base-N output streams. diff --git a/src/main/java/org/apache/commons/codec/binary/Hex.java b/src/main/java/org/apache/commons/codec/binary/Hex.java index 51857fe0..1f6d1f75 100644 --- a/src/main/java/org/apache/commons/codec/binary/Hex.java +++ b/src/main/java/org/apache/commons/codec/binary/Hex.java @@ -17,16 +17,11 @@ package org.apache.commons.codec.binary; +import org.apache.commons.codec.*; + import java.nio.ByteBuffer; import java.nio.charset.Charset; -import org.apache.commons.codec.BinaryDecoder; -import org.apache.commons.codec.BinaryEncoder; -import org.apache.commons.codec.CharEncoding; -import org.apache.commons.codec.Charsets; -import org.apache.commons.codec.DecoderException; -import org.apache.commons.codec.EncoderException; - /** * Converts hexadecimal Strings. The charset used for certain operation can be set, the default is set in * {@link #DEFAULT_CHARSET_NAME} diff --git a/src/main/java/org/apache/commons/codec/binary/StringUtils.java b/src/main/java/org/apache/commons/codec/binary/StringUtils.java index 84a2a727..8d692561 100644 --- a/src/main/java/org/apache/commons/codec/binary/StringUtils.java +++ b/src/main/java/org/apache/commons/codec/binary/StringUtils.java @@ -17,13 +17,13 @@ package org.apache.commons.codec.binary; +import org.apache.commons.codec.CharEncoding; +import org.apache.commons.codec.Charsets; + import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.charset.Charset; -import org.apache.commons.codec.CharEncoding; -import org.apache.commons.codec.Charsets; - /** * Converts String to and from bytes using the encodings required by the Java specification. These encodings are * specified in diff --git a/src/main/java/org/apache/commons/codec/digest/DigestUtils.java b/src/main/java/org/apache/commons/codec/digest/DigestUtils.java index f5dc9a35..d01bde4d 100644 --- a/src/main/java/org/apache/commons/codec/digest/DigestUtils.java +++ b/src/main/java/org/apache/commons/codec/digest/DigestUtils.java @@ -17,15 +17,15 @@ package org.apache.commons.codec.digest; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.codec.binary.StringUtils; + import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import org.apache.commons.codec.binary.Hex; -import org.apache.commons.codec.binary.StringUtils; - /** * Operations to simplify common {@link java.security.MessageDigest} tasks. * This class is immutable and thread-safe. diff --git a/src/main/java/org/apache/commons/codec/digest/HmacUtils.java b/src/main/java/org/apache/commons/codec/digest/HmacUtils.java index 425db4ab..283bf90d 100644 --- a/src/main/java/org/apache/commons/codec/digest/HmacUtils.java +++ b/src/main/java/org/apache/commons/codec/digest/HmacUtils.java @@ -17,18 +17,17 @@ package org.apache.commons.codec.digest; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.codec.binary.StringUtils; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; import java.io.IOException; import java.io.InputStream; import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException; -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; - -import org.apache.commons.codec.binary.Hex; -import org.apache.commons.codec.binary.StringUtils; - /** * Simplifies common {@link javax.crypto.Mac} tasks. This class is immutable and thread-safe. * diff --git a/src/main/java/org/apache/commons/codec/digest/Md5Crypt.java b/src/main/java/org/apache/commons/codec/digest/Md5Crypt.java index 09625496..695cbd49 100644 --- a/src/main/java/org/apache/commons/codec/digest/Md5Crypt.java +++ b/src/main/java/org/apache/commons/codec/digest/Md5Crypt.java @@ -16,13 +16,13 @@ */ package org.apache.commons.codec.digest; +import org.apache.commons.codec.Charsets; + import java.security.MessageDigest; import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.codec.Charsets; - /** * The libc crypt() "$1$" and Apache "$apr1$" MD5-based hash algorithm. *

diff --git a/src/main/java/org/apache/commons/codec/digest/Sha2Crypt.java b/src/main/java/org/apache/commons/codec/digest/Sha2Crypt.java index 6e568d7e..7d892f9c 100644 --- a/src/main/java/org/apache/commons/codec/digest/Sha2Crypt.java +++ b/src/main/java/org/apache/commons/codec/digest/Sha2Crypt.java @@ -16,14 +16,14 @@ */ package org.apache.commons.codec.digest; +import org.apache.commons.codec.Charsets; + import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.codec.Charsets; - /** * SHA2-based Unix crypt implementation. *

diff --git a/src/main/java/org/apache/commons/codec/digest/UnixCrypt.java b/src/main/java/org/apache/commons/codec/digest/UnixCrypt.java index 151d9c89..f428b8b0 100644 --- a/src/main/java/org/apache/commons/codec/digest/UnixCrypt.java +++ b/src/main/java/org/apache/commons/codec/digest/UnixCrypt.java @@ -16,10 +16,10 @@ */ package org.apache.commons.codec.digest; -import java.util.Random; - import org.apache.commons.codec.Charsets; +import java.util.Random; + /** * Unix crypt(3) algorithm implementation. *

diff --git a/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java b/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java index 01f395c3..1abb214d 100644 --- a/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java +++ b/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java @@ -17,11 +17,11 @@ package org.apache.commons.codec.language; -import java.util.Locale; - import org.apache.commons.codec.EncoderException; import org.apache.commons.codec.StringEncoder; +import java.util.Locale; + /** * Encodes a string into a Cologne Phonetic value. *

diff --git a/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java b/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java index b33dbe83..7a3f2078 100644 --- a/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java +++ b/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java @@ -16,22 +16,13 @@ */ package org.apache.commons.codec.language; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Scanner; -import java.util.Set; - import org.apache.commons.codec.CharEncoding; import org.apache.commons.codec.EncoderException; import org.apache.commons.codec.StringEncoder; +import java.io.InputStream; +import java.util.*; + /** * Encodes a string into a Daitch-Mokotoff Soundex value. *

diff --git a/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java b/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java index 95858b43..d1fffc6f 100644 --- a/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java +++ b/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java @@ -16,11 +16,11 @@ */ package org.apache.commons.codec.language; -import java.util.Locale; - import org.apache.commons.codec.EncoderException; import org.apache.commons.codec.StringEncoder; +import java.util.Locale; + /** * Match Rating Approach Phonetic Algorithm Developed by Western Airlines in 1977. * diff --git a/src/main/java/org/apache/commons/codec/language/Nysiis.java b/src/main/java/org/apache/commons/codec/language/Nysiis.java index 14c1505c..ff4db54a 100644 --- a/src/main/java/org/apache/commons/codec/language/Nysiis.java +++ b/src/main/java/org/apache/commons/codec/language/Nysiis.java @@ -17,11 +17,11 @@ package org.apache.commons.codec.language; -import java.util.regex.Pattern; - import org.apache.commons.codec.EncoderException; import org.apache.commons.codec.StringEncoder; +import java.util.regex.Pattern; + /** * Encodes a string into a NYSIIS value. NYSIIS is an encoding used to relate similar names, but can also be used as a * general purpose scheme to find word with similar phonemes. diff --git a/src/main/java/org/apache/commons/codec/language/bm/Lang.java b/src/main/java/org/apache/commons/codec/language/bm/Lang.java index a7ebba6e..e7e69ac6 100644 --- a/src/main/java/org/apache/commons/codec/language/bm/Lang.java +++ b/src/main/java/org/apache/commons/codec/language/bm/Lang.java @@ -18,16 +18,7 @@ package org.apache.commons.codec.language.bm; import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.EnumMap; -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Scanner; -import java.util.Set; +import java.util.*; import java.util.regex.Pattern; /** diff --git a/src/main/java/org/apache/commons/codec/language/bm/Languages.java b/src/main/java/org/apache/commons/codec/language/bm/Languages.java index e092c15c..15048299 100644 --- a/src/main/java/org/apache/commons/codec/language/bm/Languages.java +++ b/src/main/java/org/apache/commons/codec/language/bm/Languages.java @@ -18,13 +18,7 @@ package org.apache.commons.codec.language.bm; import java.io.InputStream; -import java.util.Collections; -import java.util.EnumMap; -import java.util.HashSet; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Scanner; -import java.util.Set; +import java.util.*; /** * Language codes. diff --git a/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java b/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java index 490757be..50b594f7 100644 --- a/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java +++ b/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java @@ -17,22 +17,11 @@ package org.apache.commons.codec.language.bm; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.EnumMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; - import org.apache.commons.codec.language.bm.Languages.LanguageSet; import org.apache.commons.codec.language.bm.Rule.Phoneme; +import java.util.*; + /** * Converts words into potential phonetic representations. *

diff --git a/src/main/java/org/apache/commons/codec/language/bm/Rule.java b/src/main/java/org/apache/commons/codec/language/bm/Rule.java index eacbae85..18415c40 100644 --- a/src/main/java/org/apache/commons/codec/language/bm/Rule.java +++ b/src/main/java/org/apache/commons/codec/language/bm/Rule.java @@ -17,23 +17,13 @@ package org.apache.commons.codec.language.bm; +import org.apache.commons.codec.language.bm.Languages.LanguageSet; + import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.EnumMap; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Scanner; -import java.util.Set; +import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.codec.language.bm.Languages.LanguageSet; - /** * A phoneme rule. *

diff --git a/src/main/java/org/apache/commons/codec/net/BCodec.java b/src/main/java/org/apache/commons/codec/net/BCodec.java index 651ed979..3ad863cb 100644 --- a/src/main/java/org/apache/commons/codec/net/BCodec.java +++ b/src/main/java/org/apache/commons/codec/net/BCodec.java @@ -17,16 +17,12 @@ package org.apache.commons.codec.net; +import org.apache.commons.codec.*; +import org.apache.commons.codec.binary.Base64; + import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; -import org.apache.commons.codec.Charsets; -import org.apache.commons.codec.DecoderException; -import org.apache.commons.codec.EncoderException; -import org.apache.commons.codec.StringDecoder; -import org.apache.commons.codec.StringEncoder; -import org.apache.commons.codec.binary.Base64; - /** * Identical to the Base64 encoding defined by RFC 1521 * and allows a character set to be specified. diff --git a/src/main/java/org/apache/commons/codec/net/QCodec.java b/src/main/java/org/apache/commons/codec/net/QCodec.java index 584b3ff0..19d2bb5d 100644 --- a/src/main/java/org/apache/commons/codec/net/QCodec.java +++ b/src/main/java/org/apache/commons/codec/net/QCodec.java @@ -17,16 +17,12 @@ package org.apache.commons.codec.net; +import org.apache.commons.codec.*; + import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.util.BitSet; -import org.apache.commons.codec.Charsets; -import org.apache.commons.codec.DecoderException; -import org.apache.commons.codec.EncoderException; -import org.apache.commons.codec.StringDecoder; -import org.apache.commons.codec.StringEncoder; - /** * Similar to the Quoted-Printable content-transfer-encoding defined in * RFC 1521 and designed to allow text containing mostly ASCII diff --git a/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java b/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java index 82b88617..dfa5f60d 100644 --- a/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java +++ b/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java @@ -17,6 +17,9 @@ package org.apache.commons.codec.net; +import org.apache.commons.codec.*; +import org.apache.commons.codec.binary.StringUtils; + import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; @@ -24,15 +27,6 @@ import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.UnsupportedCharsetException; import java.util.BitSet; -import org.apache.commons.codec.BinaryDecoder; -import org.apache.commons.codec.BinaryEncoder; -import org.apache.commons.codec.Charsets; -import org.apache.commons.codec.DecoderException; -import org.apache.commons.codec.EncoderException; -import org.apache.commons.codec.StringDecoder; -import org.apache.commons.codec.StringEncoder; -import org.apache.commons.codec.binary.StringUtils; - /** * Codec for the Quoted-Printable section of RFC 1521. *

diff --git a/src/main/java/org/apache/commons/codec/net/RFC1522Codec.java b/src/main/java/org/apache/commons/codec/net/RFC1522Codec.java index 6cad34f9..1c4e3193 100644 --- a/src/main/java/org/apache/commons/codec/net/RFC1522Codec.java +++ b/src/main/java/org/apache/commons/codec/net/RFC1522Codec.java @@ -17,13 +17,13 @@ package org.apache.commons.codec.net; -import java.io.UnsupportedEncodingException; -import java.nio.charset.Charset; - import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.EncoderException; import org.apache.commons.codec.binary.StringUtils; +import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; + /** * Implements methods common to all codecs defined in RFC 1522. *

diff --git a/src/main/java/org/apache/commons/codec/net/URLCodec.java b/src/main/java/org/apache/commons/codec/net/URLCodec.java index e53cd635..9bf7e38d 100644 --- a/src/main/java/org/apache/commons/codec/net/URLCodec.java +++ b/src/main/java/org/apache/commons/codec/net/URLCodec.java @@ -17,19 +17,13 @@ package org.apache.commons.codec.net; +import org.apache.commons.codec.*; +import org.apache.commons.codec.binary.StringUtils; + import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.util.BitSet; -import org.apache.commons.codec.BinaryDecoder; -import org.apache.commons.codec.BinaryEncoder; -import org.apache.commons.codec.CharEncoding; -import org.apache.commons.codec.DecoderException; -import org.apache.commons.codec.EncoderException; -import org.apache.commons.codec.StringDecoder; -import org.apache.commons.codec.StringEncoder; -import org.apache.commons.codec.binary.StringUtils; - /** * Implements the 'www-form-urlencoded' encoding scheme, also misleadingly known as URL encoding. *

diff --git a/src/main/java/org/imgscalr/AsyncScalr.java b/src/main/java/org/imgscalr/AsyncScalr.java index 3be52752..ff888872 100644 --- a/src/main/java/org/imgscalr/AsyncScalr.java +++ b/src/main/java/org/imgscalr/AsyncScalr.java @@ -15,23 +15,17 @@ */ package org.imgscalr; -import java.awt.Color; -import java.awt.image.BufferedImage; -import java.awt.image.BufferedImageOp; -import java.awt.image.ImagingOpException; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; - import org.imgscalr.Scalr.Method; import org.imgscalr.Scalr.Mode; import org.imgscalr.Scalr.Rotation; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.awt.image.BufferedImageOp; +import java.awt.image.ImagingOpException; +import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicInteger; + /** * Class used to provide the asynchronous versions of all the methods defined in * {@link Scalr} for the purpose of efficiently handling large amounts of image diff --git a/src/main/java/org/imgscalr/Scalr.java b/src/main/java/org/imgscalr/Scalr.java index d08911c1..0b28035a 100644 --- a/src/main/java/org/imgscalr/Scalr.java +++ b/src/main/java/org/imgscalr/Scalr.java @@ -15,28 +15,12 @@ */ package org.imgscalr; -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.RenderingHints; -import java.awt.Transparency; +import javax.imageio.ImageIO; +import java.awt.*; import java.awt.color.ColorSpace; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; -import java.awt.image.AreaAveragingScaleFilter; -import java.awt.image.BufferedImage; -import java.awt.image.BufferedImageOp; -import java.awt.image.ColorConvertOp; -import java.awt.image.ColorModel; -import java.awt.image.ConvolveOp; -import java.awt.image.ImagingOpException; -import java.awt.image.IndexColorModel; -import java.awt.image.Kernel; -import java.awt.image.RasterFormatException; -import java.awt.image.RescaleOp; - -import javax.imageio.ImageIO; +import java.awt.image.*; /** * Class used to implement performant, high-quality and intelligent image diff --git a/src/main/java/org/objectweb/asm/commons/AdviceAdapter.java b/src/main/java/org/objectweb/asm/commons/AdviceAdapter.java index ca31ede9..d5a406cd 100644 --- a/src/main/java/org/objectweb/asm/commons/AdviceAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/AdviceAdapter.java @@ -29,17 +29,13 @@ */ package org.objectweb.asm.commons; +import org.objectweb.asm.*; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; - /** * A {@link org.objectweb.asm.MethodVisitor} to insert before, after and around * advices in methods and constructors. diff --git a/src/main/java/org/objectweb/asm/commons/AnalyzerAdapter.java b/src/main/java/org/objectweb/asm/commons/AnalyzerAdapter.java index 884f9466..74c9a945 100644 --- a/src/main/java/org/objectweb/asm/commons/AnalyzerAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/AnalyzerAdapter.java @@ -29,17 +29,13 @@ */ package org.objectweb.asm.commons; +import org.objectweb.asm.*; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; - /** * A {@link MethodVisitor} that keeps track of stack map frame changes between * {@link #visitFrame(int, int, Object[], int, Object[]) visitFrame} calls. This diff --git a/src/main/java/org/objectweb/asm/commons/GeneratorAdapter.java b/src/main/java/org/objectweb/asm/commons/GeneratorAdapter.java index dbaf1d73..4ef36379 100644 --- a/src/main/java/org/objectweb/asm/commons/GeneratorAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/GeneratorAdapter.java @@ -29,17 +29,12 @@ */ package org.objectweb.asm.commons; +import org.objectweb.asm.*; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; - /** * A {@link org.objectweb.asm.MethodVisitor} with convenient methods to generate * code. For example, using this adapter, the class below diff --git a/src/main/java/org/objectweb/asm/commons/InstructionAdapter.java b/src/main/java/org/objectweb/asm/commons/InstructionAdapter.java index 872e1569..d4496e3b 100644 --- a/src/main/java/org/objectweb/asm/commons/InstructionAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/InstructionAdapter.java @@ -30,11 +30,7 @@ package org.objectweb.asm.commons; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; +import org.objectweb.asm.*; /** * A {@link MethodVisitor} providing a more detailed API to generate and diff --git a/src/main/java/org/objectweb/asm/commons/JSRInlinerAdapter.java b/src/main/java/org/objectweb/asm/commons/JSRInlinerAdapter.java index 5c0ad085..cad43769 100644 --- a/src/main/java/org/objectweb/asm/commons/JSRInlinerAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/JSRInlinerAdapter.java @@ -29,30 +29,13 @@ */ package org.objectweb.asm.commons; -import java.util.AbstractMap; -import java.util.ArrayList; -import java.util.BitSet; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.LabelNode; -import org.objectweb.asm.tree.LocalVariableNode; -import org.objectweb.asm.tree.LookupSwitchInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.TableSwitchInsnNode; -import org.objectweb.asm.tree.TryCatchBlockNode; +import org.objectweb.asm.tree.*; + +import java.util.*; /** * A {@link org.objectweb.asm.MethodVisitor} that removes JSR instructions and diff --git a/src/main/java/org/objectweb/asm/commons/LocalVariablesSorter.java b/src/main/java/org/objectweb/asm/commons/LocalVariablesSorter.java index 295c319b..7d221059 100644 --- a/src/main/java/org/objectweb/asm/commons/LocalVariablesSorter.java +++ b/src/main/java/org/objectweb/asm/commons/LocalVariablesSorter.java @@ -29,12 +29,7 @@ */ package org.objectweb.asm.commons; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; /** * A {@link MethodVisitor} that renumbers local variables in their order of diff --git a/src/main/java/org/objectweb/asm/commons/Method.java b/src/main/java/org/objectweb/asm/commons/Method.java index 6f980967..97136159 100644 --- a/src/main/java/org/objectweb/asm/commons/Method.java +++ b/src/main/java/org/objectweb/asm/commons/Method.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.commons; +import org.objectweb.asm.Type; + import java.util.HashMap; import java.util.Map; -import org.objectweb.asm.Type; - /** * A named method descriptor. * diff --git a/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java b/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java index c0b52cae..8c2e7103 100644 --- a/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/RemappingClassAdapter.java @@ -30,12 +30,7 @@ package org.objectweb.asm.commons; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; /** * A {@link ClassVisitor} for type remapping. diff --git a/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java b/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java index c9badc2a..6a47f80d 100644 --- a/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java +++ b/src/main/java/org/objectweb/asm/commons/RemappingMethodAdapter.java @@ -30,12 +30,7 @@ package org.objectweb.asm.commons; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; /** * A {@link LocalVariablesSorter} for type mapping. diff --git a/src/main/java/org/objectweb/asm/commons/SerialVersionUIDAdder.java b/src/main/java/org/objectweb/asm/commons/SerialVersionUIDAdder.java index 180281a8..e50ca385 100644 --- a/src/main/java/org/objectweb/asm/commons/SerialVersionUIDAdder.java +++ b/src/main/java/org/objectweb/asm/commons/SerialVersionUIDAdder.java @@ -29,6 +29,11 @@ */ package org.objectweb.asm.commons; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + import java.io.ByteArrayOutputStream; import java.io.DataOutput; import java.io.DataOutputStream; @@ -38,11 +43,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; - /** * A {@link ClassVisitor} that adds a serial version unique identifier to a * class if missing. Here is typical usage of this class: diff --git a/src/main/java/org/objectweb/asm/commons/TryCatchBlockSorter.java b/src/main/java/org/objectweb/asm/commons/TryCatchBlockSorter.java index a9c51923..ce5d06c2 100644 --- a/src/main/java/org/objectweb/asm/commons/TryCatchBlockSorter.java +++ b/src/main/java/org/objectweb/asm/commons/TryCatchBlockSorter.java @@ -30,14 +30,14 @@ package org.objectweb.asm.commons; -import java.util.Collections; -import java.util.Comparator; - import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.TryCatchBlockNode; +import java.util.Collections; +import java.util.Comparator; + /** * A {@link MethodVisitor} adapter to sort the exception handlers. The handlers * are sorted in a method innermost-to-outermost. This allows the programmer to diff --git a/src/main/java/org/objectweb/asm/commons/cfg/Block.java b/src/main/java/org/objectweb/asm/commons/cfg/Block.java index 13c1cebd..1012f2cd 100644 --- a/src/main/java/org/objectweb/asm/commons/cfg/Block.java +++ b/src/main/java/org/objectweb/asm/commons/cfg/Block.java @@ -1,11 +1,5 @@ package org.objectweb.asm.commons.cfg; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Stack; - import org.objectweb.asm.Label; import org.objectweb.asm.commons.cfg.query.InsnQuery; import org.objectweb.asm.commons.cfg.tree.NodeTree; @@ -15,6 +9,8 @@ import org.objectweb.asm.tree.AbstractInsnNode; import org.objectweb.asm.tree.LabelNode; import org.objectweb.asm.tree.MethodNode; +import java.util.*; + /** * @author Tyler Sedlar */ diff --git a/src/main/java/org/objectweb/asm/commons/cfg/InsnVisitor.java b/src/main/java/org/objectweb/asm/commons/cfg/InsnVisitor.java index 82708f25..64c55003 100644 --- a/src/main/java/org/objectweb/asm/commons/cfg/InsnVisitor.java +++ b/src/main/java/org/objectweb/asm/commons/cfg/InsnVisitor.java @@ -1,12 +1,6 @@ package org.objectweb.asm.commons.cfg; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; public class InsnVisitor extends MethodVisitor { diff --git a/src/main/java/org/objectweb/asm/commons/cfg/graph/Digraph.java b/src/main/java/org/objectweb/asm/commons/cfg/graph/Digraph.java index 417bf322..a6476ccf 100644 --- a/src/main/java/org/objectweb/asm/commons/cfg/graph/Digraph.java +++ b/src/main/java/org/objectweb/asm/commons/cfg/graph/Digraph.java @@ -1,14 +1,9 @@ package org.objectweb.asm.commons.cfg.graph; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; - import org.objectweb.asm.commons.cfg.Block; +import java.util.*; + /** * @author Tyler Sedlar */ diff --git a/src/main/java/org/objectweb/asm/commons/cfg/tree/NodeTree.java b/src/main/java/org/objectweb/asm/commons/cfg/tree/NodeTree.java index 20f3ad7a..7c6a2533 100644 --- a/src/main/java/org/objectweb/asm/commons/cfg/tree/NodeTree.java +++ b/src/main/java/org/objectweb/asm/commons/cfg/tree/NodeTree.java @@ -1,14 +1,14 @@ package org.objectweb.asm.commons.cfg.tree; -import static org.objectweb.asm.tree.AbstractInsnNode.LABEL; - -import java.util.Arrays; - import org.objectweb.asm.commons.cfg.Block; import org.objectweb.asm.commons.cfg.tree.node.AbstractNode; import org.objectweb.asm.tree.AbstractInsnNode; import org.objectweb.asm.tree.MethodNode; +import java.util.Arrays; + +import static org.objectweb.asm.tree.AbstractInsnNode.LABEL; + /** * @author Tyler Sedlar */ diff --git a/src/main/java/org/objectweb/asm/commons/cfg/tree/node/AbstractNode.java b/src/main/java/org/objectweb/asm/commons/cfg/tree/node/AbstractNode.java index a5f71b52..c1cf2ba7 100644 --- a/src/main/java/org/objectweb/asm/commons/cfg/tree/node/AbstractNode.java +++ b/src/main/java/org/objectweb/asm/commons/cfg/tree/node/AbstractNode.java @@ -1,36 +1,17 @@ package org.objectweb.asm.commons.cfg.tree.node; -import static org.objectweb.asm.tree.AbstractInsnNode.FIELD_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.FRAME; -import static org.objectweb.asm.tree.AbstractInsnNode.IINC_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.INT_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.JUMP_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.LABEL; -import static org.objectweb.asm.tree.AbstractInsnNode.LDC_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.LINE; -import static org.objectweb.asm.tree.AbstractInsnNode.LOOKUPSWITCH_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.METHOD_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.MULTIANEWARRAY_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.TABLESWITCH_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.TYPE_INSN; -import static org.objectweb.asm.tree.AbstractInsnNode.VAR_INSN; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - import org.objectweb.asm.Opcodes; import org.objectweb.asm.commons.cfg.tree.NodeTree; import org.objectweb.asm.commons.cfg.tree.NodeVisitor; import org.objectweb.asm.commons.cfg.tree.Tree; import org.objectweb.asm.commons.util.Assembly; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static org.objectweb.asm.tree.AbstractInsnNode.*; public class AbstractNode extends Tree implements Opcodes { diff --git a/src/main/java/org/objectweb/asm/commons/cfg/tree/util/TreeBuilder.java b/src/main/java/org/objectweb/asm/commons/cfg/tree/util/TreeBuilder.java index 178844d6..9b7d85b3 100644 --- a/src/main/java/org/objectweb/asm/commons/cfg/tree/util/TreeBuilder.java +++ b/src/main/java/org/objectweb/asm/commons/cfg/tree/util/TreeBuilder.java @@ -1,39 +1,17 @@ package org.objectweb.asm.commons.cfg.tree.util; -import static org.objectweb.asm.Opcodes.*; +import org.objectweb.asm.Type; +import org.objectweb.asm.commons.cfg.Block; +import org.objectweb.asm.commons.cfg.tree.NodeTree; +import org.objectweb.asm.commons.cfg.tree.node.*; +import org.objectweb.asm.tree.*; import java.util.ArrayList; import java.util.List; +import static org.objectweb.asm.Opcodes.*; + //import org.nullbool.api.obfuscation.cfg.FlowBlock; -import org.objectweb.asm.Type; -import org.objectweb.asm.commons.cfg.Block; -import org.objectweb.asm.commons.cfg.tree.NodeTree; -import org.objectweb.asm.commons.cfg.tree.node.AbstractNode; -import org.objectweb.asm.commons.cfg.tree.node.ArithmeticNode; -import org.objectweb.asm.commons.cfg.tree.node.ConstantNode; -import org.objectweb.asm.commons.cfg.tree.node.ConversionNode; -import org.objectweb.asm.commons.cfg.tree.node.FieldMemberNode; -import org.objectweb.asm.commons.cfg.tree.node.IincNode; -import org.objectweb.asm.commons.cfg.tree.node.JumpNode; -import org.objectweb.asm.commons.cfg.tree.node.MethodMemberNode; -import org.objectweb.asm.commons.cfg.tree.node.NumberNode; -import org.objectweb.asm.commons.cfg.tree.node.TypeNode; -import org.objectweb.asm.commons.cfg.tree.node.VariableNode; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.IntInsnNode; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.LookupSwitchInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.MultiANewArrayInsnNode; -import org.objectweb.asm.tree.TableSwitchInsnNode; -import org.objectweb.asm.tree.TypeInsnNode; -import org.objectweb.asm.tree.VarInsnNode; /** * @author Tyler Sedlar diff --git a/src/main/java/org/objectweb/asm/commons/util/Assembly.java b/src/main/java/org/objectweb/asm/commons/util/Assembly.java index fc82b3aa..6182846d 100644 --- a/src/main/java/org/objectweb/asm/commons/util/Assembly.java +++ b/src/main/java/org/objectweb/asm/commons/util/Assembly.java @@ -1,30 +1,12 @@ package org.objectweb.asm.commons.util; -import static org.objectweb.asm.tree.AbstractInsnNode.*; +import org.objectweb.asm.Label; +import org.objectweb.asm.tree.*; import java.util.Arrays; import java.util.Collection; -import org.objectweb.asm.Label; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.FrameNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.IntInsnNode; -import org.objectweb.asm.tree.InvokeDynamicInsnNode; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.LabelNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.LineNumberNode; -import org.objectweb.asm.tree.LookupSwitchInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.MultiANewArrayInsnNode; -import org.objectweb.asm.tree.TableSwitchInsnNode; -import org.objectweb.asm.tree.TypeInsnNode; -import org.objectweb.asm.tree.VarInsnNode; +import static org.objectweb.asm.tree.AbstractInsnNode.*; /** * @author Tyler Sedlar diff --git a/src/main/java/org/objectweb/asm/tree/AbstractInsnNode.java b/src/main/java/org/objectweb/asm/tree/AbstractInsnNode.java index 19093171..7a8ed6a8 100644 --- a/src/main/java/org/objectweb/asm/tree/AbstractInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/AbstractInsnNode.java @@ -29,12 +29,12 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.MethodVisitor; + import java.util.ArrayList; import java.util.List; import java.util.Map; -import org.objectweb.asm.MethodVisitor; - /** * A node that represents a bytecode instruction. An instruction can appear * at most once in at most one {@link InsnList} at a time. diff --git a/src/main/java/org/objectweb/asm/tree/AnnotationNode.java b/src/main/java/org/objectweb/asm/tree/AnnotationNode.java index 18bb60d5..af500fde 100644 --- a/src/main/java/org/objectweb/asm/tree/AnnotationNode.java +++ b/src/main/java/org/objectweb/asm/tree/AnnotationNode.java @@ -29,12 +29,12 @@ */ package org.objectweb.asm.tree; -import java.util.ArrayList; -import java.util.List; - import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.Opcodes; +import java.util.ArrayList; +import java.util.List; + /** * A node that represents an annotationn. * diff --git a/src/main/java/org/objectweb/asm/tree/ClassNode.java b/src/main/java/org/objectweb/asm/tree/ClassNode.java index 9ddd5718..2a4ee0e2 100644 --- a/src/main/java/org/objectweb/asm/tree/ClassNode.java +++ b/src/main/java/org/objectweb/asm/tree/ClassNode.java @@ -29,19 +29,9 @@ */ package org.objectweb.asm.tree; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import org.objectweb.asm.*; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import java.util.*; /** * A node that represents a class. diff --git a/src/main/java/org/objectweb/asm/tree/FieldInsnNode.java b/src/main/java/org/objectweb/asm/tree/FieldInsnNode.java index 7975b569..ea4e49f2 100644 --- a/src/main/java/org/objectweb/asm/tree/FieldInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/FieldInsnNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * A node that represents a field instruction. A field instruction is an * instruction that loads or stores the value of a field of an object. diff --git a/src/main/java/org/objectweb/asm/tree/FieldNode.java b/src/main/java/org/objectweb/asm/tree/FieldNode.java index fcd41cb2..681746fd 100644 --- a/src/main/java/org/objectweb/asm/tree/FieldNode.java +++ b/src/main/java/org/objectweb/asm/tree/FieldNode.java @@ -29,16 +29,11 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.*; + import java.util.ArrayList; import java.util.List; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; - /** * A node that represents a field. * diff --git a/src/main/java/org/objectweb/asm/tree/FrameNode.java b/src/main/java/org/objectweb/asm/tree/FrameNode.java index 4f5bc5e9..2f6695c6 100644 --- a/src/main/java/org/objectweb/asm/tree/FrameNode.java +++ b/src/main/java/org/objectweb/asm/tree/FrameNode.java @@ -29,14 +29,14 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; - /** * A node that represents a stack map frame. These nodes are pseudo instruction * nodes in order to be inserted in an instruction list. In fact these nodes diff --git a/src/main/java/org/objectweb/asm/tree/IincInsnNode.java b/src/main/java/org/objectweb/asm/tree/IincInsnNode.java index e847494b..f661fa61 100644 --- a/src/main/java/org/objectweb/asm/tree/IincInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/IincInsnNode.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import java.util.Map; + /** * A node that represents an IINC instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/InsnList.java b/src/main/java/org/objectweb/asm/tree/InsnList.java index 52769b0f..2482c403 100644 --- a/src/main/java/org/objectweb/asm/tree/InsnList.java +++ b/src/main/java/org/objectweb/asm/tree/InsnList.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.MethodVisitor; + import java.util.ListIterator; import java.util.NoSuchElementException; -import org.objectweb.asm.MethodVisitor; - /** * A doubly linked list of {@link AbstractInsnNode} objects. This * implementation is not thread safe. diff --git a/src/main/java/org/objectweb/asm/tree/InsnNode.java b/src/main/java/org/objectweb/asm/tree/InsnNode.java index 1e973eb1..7284d6e2 100644 --- a/src/main/java/org/objectweb/asm/tree/InsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/InsnNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * A node that represents a zero operand instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/IntInsnNode.java b/src/main/java/org/objectweb/asm/tree/IntInsnNode.java index bbe2e458..1d40761f 100644 --- a/src/main/java/org/objectweb/asm/tree/IntInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/IntInsnNode.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.util.Printer; +import java.util.Map; + /** * A node that represents an instruction with a single int operand. * diff --git a/src/main/java/org/objectweb/asm/tree/InvokeDynamicInsnNode.java b/src/main/java/org/objectweb/asm/tree/InvokeDynamicInsnNode.java index eb330d67..6210002b 100644 --- a/src/main/java/org/objectweb/asm/tree/InvokeDynamicInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/InvokeDynamicInsnNode.java @@ -29,12 +29,12 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.Handle; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import java.util.Map; + /** * A node that represents an invokedynamic instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/JumpInsnNode.java b/src/main/java/org/objectweb/asm/tree/JumpInsnNode.java index 970803b9..bfed663f 100644 --- a/src/main/java/org/objectweb/asm/tree/JumpInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/JumpInsnNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * A node that represents a jump instruction. A jump instruction is an * instruction that may jump to another instruction. diff --git a/src/main/java/org/objectweb/asm/tree/LabelNode.java b/src/main/java/org/objectweb/asm/tree/LabelNode.java index f568e216..4171cc5f 100644 --- a/src/main/java/org/objectweb/asm/tree/LabelNode.java +++ b/src/main/java/org/objectweb/asm/tree/LabelNode.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * An {@link AbstractInsnNode} that encapsulates a {@link Label}. */ diff --git a/src/main/java/org/objectweb/asm/tree/LdcInsnNode.java b/src/main/java/org/objectweb/asm/tree/LdcInsnNode.java index 108087f5..fcd91247 100644 --- a/src/main/java/org/objectweb/asm/tree/LdcInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/LdcInsnNode.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import java.util.Map; + /** * A node that represents an LDC instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/LineNumberNode.java b/src/main/java/org/objectweb/asm/tree/LineNumberNode.java index 9d11404d..b0956fc6 100644 --- a/src/main/java/org/objectweb/asm/tree/LineNumberNode.java +++ b/src/main/java/org/objectweb/asm/tree/LineNumberNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * A node that represents a line number declaration. These nodes are pseudo * instruction nodes in order to be inserted in an instruction list. diff --git a/src/main/java/org/objectweb/asm/tree/LocalVariableAnnotationNode.java b/src/main/java/org/objectweb/asm/tree/LocalVariableAnnotationNode.java index 4ca7da4b..91ad76ad 100644 --- a/src/main/java/org/objectweb/asm/tree/LocalVariableAnnotationNode.java +++ b/src/main/java/org/objectweb/asm/tree/LocalVariableAnnotationNode.java @@ -30,16 +30,12 @@ package org.objectweb.asm.tree; +import org.objectweb.asm.*; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.TypeReference; - /** * A node that represents a type annotation on a local or resource variable. * diff --git a/src/main/java/org/objectweb/asm/tree/LookupSwitchInsnNode.java b/src/main/java/org/objectweb/asm/tree/LookupSwitchInsnNode.java index fb28e259..f21a5191 100644 --- a/src/main/java/org/objectweb/asm/tree/LookupSwitchInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/LookupSwitchInsnNode.java @@ -29,15 +29,15 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; - /** * A node that represents a LOOKUPSWITCH instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/MethodInsnNode.java b/src/main/java/org/objectweb/asm/tree/MethodInsnNode.java index 98c65758..4413f0ac 100644 --- a/src/main/java/org/objectweb/asm/tree/MethodInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/MethodInsnNode.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import java.util.Map; + /** * A node that represents a method instruction. A method instruction is an * instruction that invokes a method. diff --git a/src/main/java/org/objectweb/asm/tree/MethodNode.java b/src/main/java/org/objectweb/asm/tree/MethodNode.java index d125d982..adc1d94c 100644 --- a/src/main/java/org/objectweb/asm/tree/MethodNode.java +++ b/src/main/java/org/objectweb/asm/tree/MethodNode.java @@ -29,21 +29,13 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.*; +import org.objectweb.asm.commons.cfg.query.InsnQuery; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.commons.cfg.query.InsnQuery; - /** * A node that represents a method. * diff --git a/src/main/java/org/objectweb/asm/tree/MultiANewArrayInsnNode.java b/src/main/java/org/objectweb/asm/tree/MultiANewArrayInsnNode.java index 649967c7..1d13a6fb 100644 --- a/src/main/java/org/objectweb/asm/tree/MultiANewArrayInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/MultiANewArrayInsnNode.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import java.util.Map; + /** * A node that represents a MULTIANEWARRAY instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/TableSwitchInsnNode.java b/src/main/java/org/objectweb/asm/tree/TableSwitchInsnNode.java index fb80e639..83d6662b 100644 --- a/src/main/java/org/objectweb/asm/tree/TableSwitchInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/TableSwitchInsnNode.java @@ -29,15 +29,15 @@ */ package org.objectweb.asm.tree; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; - /** * A node that represents a TABLESWITCH instruction. * diff --git a/src/main/java/org/objectweb/asm/tree/TryCatchBlockNode.java b/src/main/java/org/objectweb/asm/tree/TryCatchBlockNode.java index 7a33a9fd..f226d877 100644 --- a/src/main/java/org/objectweb/asm/tree/TryCatchBlockNode.java +++ b/src/main/java/org/objectweb/asm/tree/TryCatchBlockNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.List; - import org.objectweb.asm.MethodVisitor; +import java.util.List; + /** * A node that represents a try catch block. * diff --git a/src/main/java/org/objectweb/asm/tree/TypeInsnNode.java b/src/main/java/org/objectweb/asm/tree/TypeInsnNode.java index 7b5876a5..45b80e33 100644 --- a/src/main/java/org/objectweb/asm/tree/TypeInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/TypeInsnNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * A node that represents a type instruction. A type instruction is an * instruction that takes a type descriptor as parameter. diff --git a/src/main/java/org/objectweb/asm/tree/VarInsnNode.java b/src/main/java/org/objectweb/asm/tree/VarInsnNode.java index 8a489f2d..c4635848 100644 --- a/src/main/java/org/objectweb/asm/tree/VarInsnNode.java +++ b/src/main/java/org/objectweb/asm/tree/VarInsnNode.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree; -import java.util.Map; - import org.objectweb.asm.MethodVisitor; +import java.util.Map; + /** * A node that represents a local variable instruction. A local variable * instruction is an instruction that loads or stores the value of a local diff --git a/src/main/java/org/objectweb/asm/tree/analysis/Analyzer.java b/src/main/java/org/objectweb/asm/tree/analysis/Analyzer.java index a0673c7b..6d039a69 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/Analyzer.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/Analyzer.java @@ -29,24 +29,15 @@ */ package org.objectweb.asm.tree.analysis; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.*; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.LabelNode; -import org.objectweb.asm.tree.LookupSwitchInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.TableSwitchInsnNode; -import org.objectweb.asm.tree.TryCatchBlockNode; -import org.objectweb.asm.tree.VarInsnNode; - /** * A semantic bytecode analyzer. This class does not fully check that JSR and * RET instructions are valid. diff --git a/src/main/java/org/objectweb/asm/tree/analysis/BasicInterpreter.java b/src/main/java/org/objectweb/asm/tree/analysis/BasicInterpreter.java index 40699fa8..74166f74 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/BasicInterpreter.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/BasicInterpreter.java @@ -29,19 +29,12 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.List; - import org.objectweb.asm.Handle; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.IntInsnNode; -import org.objectweb.asm.tree.InvokeDynamicInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MultiANewArrayInsnNode; -import org.objectweb.asm.tree.TypeInsnNode; +import org.objectweb.asm.tree.*; + +import java.util.List; /** * An {@link Interpreter} for {@link BasicValue} values. diff --git a/src/main/java/org/objectweb/asm/tree/analysis/BasicVerifier.java b/src/main/java/org/objectweb/asm/tree/analysis/BasicVerifier.java index 2de80ec0..2ab62118 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/BasicVerifier.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/BasicVerifier.java @@ -29,14 +29,14 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.List; - import org.objectweb.asm.Type; import org.objectweb.asm.tree.AbstractInsnNode; import org.objectweb.asm.tree.FieldInsnNode; import org.objectweb.asm.tree.InvokeDynamicInsnNode; import org.objectweb.asm.tree.MethodInsnNode; +import java.util.List; + /** * An extended {@link BasicInterpreter} that checks that bytecode instructions * are correctly used. diff --git a/src/main/java/org/objectweb/asm/tree/analysis/Frame.java b/src/main/java/org/objectweb/asm/tree/analysis/Frame.java index 95f3db0c..650b552a 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/Frame.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/Frame.java @@ -29,17 +29,12 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.ArrayList; -import java.util.List; - import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.InvokeDynamicInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MultiANewArrayInsnNode; -import org.objectweb.asm.tree.VarInsnNode; +import org.objectweb.asm.tree.*; + +import java.util.ArrayList; +import java.util.List; /** * A symbolic execution stack frame. A stack frame contains a set of local diff --git a/src/main/java/org/objectweb/asm/tree/analysis/Interpreter.java b/src/main/java/org/objectweb/asm/tree/analysis/Interpreter.java index 94e08ea2..419aa13e 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/Interpreter.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/Interpreter.java @@ -29,11 +29,11 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.List; - import org.objectweb.asm.Type; import org.objectweb.asm.tree.AbstractInsnNode; +import java.util.List; + /** * A semantic bytecode interpreter. More precisely, this interpreter only * manages the computation of values from other values: it does not manage the diff --git a/src/main/java/org/objectweb/asm/tree/analysis/SimpleVerifier.java b/src/main/java/org/objectweb/asm/tree/analysis/SimpleVerifier.java index c8ee087d..7492f1d2 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/SimpleVerifier.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/SimpleVerifier.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.List; - import org.objectweb.asm.Type; +import java.util.List; + /** * An extended {@link BasicVerifier} that performs more precise verifications. * This verifier computes exact class types, instead of using a single "object diff --git a/src/main/java/org/objectweb/asm/tree/analysis/SmallSet.java b/src/main/java/org/objectweb/asm/tree/analysis/SmallSet.java index 0cf6ccfb..675a053a 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/SmallSet.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/SmallSet.java @@ -29,11 +29,7 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.AbstractSet; -import java.util.HashSet; -import java.util.Iterator; -import java.util.NoSuchElementException; -import java.util.Set; +import java.util.*; /** * A set of at most two elements. diff --git a/src/main/java/org/objectweb/asm/tree/analysis/SourceInterpreter.java b/src/main/java/org/objectweb/asm/tree/analysis/SourceInterpreter.java index cfac8271..adac143a 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/SourceInterpreter.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/SourceInterpreter.java @@ -29,18 +29,14 @@ */ package org.objectweb.asm.tree.analysis; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.*; + import java.util.HashSet; import java.util.List; import java.util.Set; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.InvokeDynamicInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; - /** * An {@link Interpreter} for {@link SourceValue} values. * diff --git a/src/main/java/org/objectweb/asm/tree/analysis/SourceValue.java b/src/main/java/org/objectweb/asm/tree/analysis/SourceValue.java index f87fc9e8..476e5b97 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/SourceValue.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/SourceValue.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.Set; - import org.objectweb.asm.tree.AbstractInsnNode; +import java.util.Set; + /** * A {@link Value} that is represented by its type in a two types type system. * This type system distinguishes the ONEWORD and TWOWORDS types. diff --git a/src/main/java/org/objectweb/asm/tree/analysis/Subroutine.java b/src/main/java/org/objectweb/asm/tree/analysis/Subroutine.java index 27396715..b08c9a21 100644 --- a/src/main/java/org/objectweb/asm/tree/analysis/Subroutine.java +++ b/src/main/java/org/objectweb/asm/tree/analysis/Subroutine.java @@ -29,12 +29,12 @@ */ package org.objectweb.asm.tree.analysis; -import java.util.ArrayList; -import java.util.List; - import org.objectweb.asm.tree.JumpInsnNode; import org.objectweb.asm.tree.LabelNode; +import java.util.ArrayList; +import java.util.List; + /** * A method subroutine (corresponds to a JSR instruction). * diff --git a/src/main/java/org/objectweb/asm/util/ASMifiable.java b/src/main/java/org/objectweb/asm/util/ASMifiable.java index dcefe677..f03e3e0d 100644 --- a/src/main/java/org/objectweb/asm/util/ASMifiable.java +++ b/src/main/java/org/objectweb/asm/util/ASMifiable.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.util; -import java.util.Map; - import org.objectweb.asm.Label; +import java.util.Map; + /** * An {@link org.objectweb.asm.Attribute Attribute} that can print the ASM code * to create an equivalent attribute. diff --git a/src/main/java/org/objectweb/asm/util/ASMifier.java b/src/main/java/org/objectweb/asm/util/ASMifier.java index e03fd09b..a93109ac 100644 --- a/src/main/java/org/objectweb/asm/util/ASMifier.java +++ b/src/main/java/org/objectweb/asm/util/ASMifier.java @@ -29,19 +29,13 @@ */ package org.objectweb.asm.util; +import org.objectweb.asm.*; + import java.io.FileInputStream; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; - /** * A {@link Printer} that prints the ASM code to generate the classes if visits. * diff --git a/src/main/java/org/objectweb/asm/util/CheckClassAdapter.java b/src/main/java/org/objectweb/asm/util/CheckClassAdapter.java index 210e2389..bd9ccd6c 100644 --- a/src/main/java/org/objectweb/asm/util/CheckClassAdapter.java +++ b/src/main/java/org/objectweb/asm/util/CheckClassAdapter.java @@ -29,25 +29,7 @@ */ package org.objectweb.asm.util; -import java.io.FileInputStream; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.TypeReference; +import org.objectweb.asm.*; import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.analysis.Analyzer; @@ -55,6 +37,10 @@ import org.objectweb.asm.tree.analysis.BasicValue; import org.objectweb.asm.tree.analysis.Frame; import org.objectweb.asm.tree.analysis.SimpleVerifier; +import java.io.FileInputStream; +import java.io.PrintWriter; +import java.util.*; + /** * A {@link ClassVisitor} that checks that its methods are properly used. More * precisely this class adapter checks each method call individually, based diff --git a/src/main/java/org/objectweb/asm/util/CheckFieldAdapter.java b/src/main/java/org/objectweb/asm/util/CheckFieldAdapter.java index 0b2e0e5b..7c06959a 100644 --- a/src/main/java/org/objectweb/asm/util/CheckFieldAdapter.java +++ b/src/main/java/org/objectweb/asm/util/CheckFieldAdapter.java @@ -29,12 +29,7 @@ */ package org.objectweb.asm.util; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.TypeReference; +import org.objectweb.asm.*; /** * A {@link FieldVisitor} that checks that its methods are properly used. diff --git a/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java b/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java index 477584a3..b1c7017f 100644 --- a/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java +++ b/src/main/java/org/objectweb/asm/util/CheckMethodAdapter.java @@ -29,30 +29,17 @@ */ package org.objectweb.asm.util; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.TypeReference; +import org.objectweb.asm.*; import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.analysis.Analyzer; import org.objectweb.asm.tree.analysis.BasicValue; import org.objectweb.asm.tree.analysis.BasicVerifier; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.reflect.Field; +import java.util.*; + /** * A {@link MethodVisitor} that checks that its methods are properly used. More * precisely this method adapter checks each instruction individually, i.e., diff --git a/src/main/java/org/objectweb/asm/util/Printer.java b/src/main/java/org/objectweb/asm/util/Printer.java index 50513c84..3b27d514 100644 --- a/src/main/java/org/objectweb/asm/util/Printer.java +++ b/src/main/java/org/objectweb/asm/util/Printer.java @@ -29,16 +29,12 @@ */ package org.objectweb.asm.util; +import org.objectweb.asm.*; + import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; - /** * An abstract converter from visit events to text. * diff --git a/src/main/java/org/objectweb/asm/util/Textifiable.java b/src/main/java/org/objectweb/asm/util/Textifiable.java index aad97ba2..6ed4c19e 100644 --- a/src/main/java/org/objectweb/asm/util/Textifiable.java +++ b/src/main/java/org/objectweb/asm/util/Textifiable.java @@ -29,10 +29,10 @@ */ package org.objectweb.asm.util; -import java.util.Map; - import org.objectweb.asm.Label; +import java.util.Map; + /** * An {@link org.objectweb.asm.Attribute Attribute} that can print a readable * representation of itself. diff --git a/src/main/java/org/objectweb/asm/util/Textifier.java b/src/main/java/org/objectweb/asm/util/Textifier.java index 895c7e2b..393a02d9 100644 --- a/src/main/java/org/objectweb/asm/util/Textifier.java +++ b/src/main/java/org/objectweb/asm/util/Textifier.java @@ -29,21 +29,14 @@ */ package org.objectweb.asm.util; +import org.objectweb.asm.*; +import org.objectweb.asm.signature.SignatureReader; + import java.io.FileInputStream; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; -import org.objectweb.asm.TypeReference; -import org.objectweb.asm.signature.SignatureReader; - /** * A {@link Printer} that prints a disassembled view of the classes it visits. * diff --git a/src/main/java/org/objectweb/asm/util/TraceClassVisitor.java b/src/main/java/org/objectweb/asm/util/TraceClassVisitor.java index 3ca59781..e65965fb 100644 --- a/src/main/java/org/objectweb/asm/util/TraceClassVisitor.java +++ b/src/main/java/org/objectweb/asm/util/TraceClassVisitor.java @@ -29,15 +29,9 @@ */ package org.objectweb.asm.util; -import java.io.PrintWriter; +import org.objectweb.asm.*; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import java.io.PrintWriter; /** * A {@link ClassVisitor} that prints the classes it visits with a diff --git a/src/main/java/org/objectweb/asm/util/TraceFieldVisitor.java b/src/main/java/org/objectweb/asm/util/TraceFieldVisitor.java index dbb3be03..7e4a10b1 100644 --- a/src/main/java/org/objectweb/asm/util/TraceFieldVisitor.java +++ b/src/main/java/org/objectweb/asm/util/TraceFieldVisitor.java @@ -29,11 +29,7 @@ */ package org.objectweb.asm.util; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; /** * A {@link FieldVisitor} that prints the fields it visits with a diff --git a/src/main/java/org/objectweb/asm/util/TraceMethodVisitor.java b/src/main/java/org/objectweb/asm/util/TraceMethodVisitor.java index 5f72ac61..0e190a84 100644 --- a/src/main/java/org/objectweb/asm/util/TraceMethodVisitor.java +++ b/src/main/java/org/objectweb/asm/util/TraceMethodVisitor.java @@ -29,13 +29,7 @@ */ package org.objectweb.asm.util; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Attribute; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; /** * A {@link MethodVisitor} that prints the methods it visits with a diff --git a/src/main/java/org/objectweb/asm/xml/ASMContentHandler.java b/src/main/java/org/objectweb/asm/xml/ASMContentHandler.java index 7d1d0743..9b2d3968 100644 --- a/src/main/java/org/objectweb/asm/xml/ASMContentHandler.java +++ b/src/main/java/org/objectweb/asm/xml/ASMContentHandler.java @@ -29,24 +29,16 @@ */ package org.objectweb.asm.xml; +import org.objectweb.asm.*; +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - /** * A {@link org.xml.sax.ContentHandler ContentHandler} that transforms XML * document into Java class file. This class can be feeded by any kind of SAX diff --git a/src/main/java/org/objectweb/asm/xml/Processor.java b/src/main/java/org/objectweb/asm/xml/Processor.java index 24f0ab03..6f5193b0 100644 --- a/src/main/java/org/objectweb/asm/xml/Processor.java +++ b/src/main/java/org/objectweb/asm/xml/Processor.java @@ -29,42 +29,24 @@ */ package org.objectweb.asm.xml; -import java.io.BufferedOutputStream; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.xml.sax.*; +import org.xml.sax.ext.LexicalHandler; +import org.xml.sax.helpers.AttributesImpl; +import org.xml.sax.helpers.DefaultHandler; +import org.xml.sax.helpers.XMLReaderFactory; -import javax.xml.transform.Source; -import javax.xml.transform.Templates; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; +import javax.xml.transform.*; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.sax.SAXSource; import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.sax.TransformerHandler; import javax.xml.transform.stream.StreamSource; - -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassWriter; -import org.xml.sax.Attributes; -import org.xml.sax.ContentHandler; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.XMLReader; -import org.xml.sax.ext.LexicalHandler; -import org.xml.sax.helpers.AttributesImpl; -import org.xml.sax.helpers.DefaultHandler; -import org.xml.sax.helpers.XMLReaderFactory; +import java.io.*; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; /** * Processor is a command line tool that can be used for bytecode waving diff --git a/src/main/java/org/objectweb/asm/xml/SAXClassAdapter.java b/src/main/java/org/objectweb/asm/xml/SAXClassAdapter.java index 6d415229..54c8f652 100644 --- a/src/main/java/org/objectweb/asm/xml/SAXClassAdapter.java +++ b/src/main/java/org/objectweb/asm/xml/SAXClassAdapter.java @@ -29,12 +29,7 @@ */ package org.objectweb.asm.xml; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; import org.xml.sax.ContentHandler; import org.xml.sax.helpers.AttributesImpl; diff --git a/src/main/java/org/objectweb/asm/xml/SAXCodeAdapter.java b/src/main/java/org/objectweb/asm/xml/SAXCodeAdapter.java index b6b8ed10..e105e450 100644 --- a/src/main/java/org/objectweb/asm/xml/SAXCodeAdapter.java +++ b/src/main/java/org/objectweb/asm/xml/SAXCodeAdapter.java @@ -29,19 +29,13 @@ */ package org.objectweb.asm.xml; -import java.util.HashMap; -import java.util.Map; - -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Handle; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.TypePath; +import org.objectweb.asm.*; import org.objectweb.asm.util.Printer; import org.xml.sax.helpers.AttributesImpl; +import java.util.HashMap; +import java.util.Map; + /** * A {@link MethodVisitor} that generates SAX 2.0 events from the visited * method. diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/Boot.java b/src/main/java/the/bytecode/club/bytecodeviewer/Boot.java index 826adea1..195bfefe 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/Boot.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/Boot.java @@ -4,7 +4,7 @@ import org.apache.commons.io.FileUtils; import org.zeroturnaround.zip.ZipUtil; import the.bytecode.club.bytecodeviewer.api.ExceptionUI; -import javax.swing.SwingUtilities; +import javax.swing.*; import java.io.File; import java.io.InputStream; import java.nio.file.Files; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/BytecodeViewer.java b/src/main/java/the/bytecode/club/bytecodeviewer/BytecodeViewer.java index 34633c52..513e6111 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/BytecodeViewer.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/BytecodeViewer.java @@ -5,32 +5,17 @@ import org.apache.commons.io.FileUtils; import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.api.ClassNodeLoader; import the.bytecode.club.bytecodeviewer.api.ExceptionUI; -import the.bytecode.club.bytecodeviewer.gui.ClassViewer; -import the.bytecode.club.bytecodeviewer.gui.FileNavigationPane; -import the.bytecode.club.bytecodeviewer.gui.MainViewerGUI; -import the.bytecode.club.bytecodeviewer.gui.RunOptions; -import the.bytecode.club.bytecodeviewer.gui.SearchingPane; -import the.bytecode.club.bytecodeviewer.gui.SystemErrConsole; -import the.bytecode.club.bytecodeviewer.gui.WorkPane; +import the.bytecode.club.bytecodeviewer.gui.*; import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer; import the.bytecode.club.bytecodeviewer.plugin.PluginManager; -import javax.swing.JDialog; -import javax.swing.JFileChooser; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.UIManager; +import javax.swing.*; import javax.swing.filechooser.FileFilter; -import java.awt.Desktop; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.net.URI; import java.net.URL; import java.nio.file.Files; @@ -442,21 +427,22 @@ public class BytecodeViewer { /** * Returns the ClassNode by the specified name * + * @param containerName name of the FileContainer that this class is in * @param name the class name * @return the ClassNode instance */ - public static ClassNode getClassNode(String name) { + public static ClassNode getClassNode(String containerName, String name) { for (FileContainer container : files) { - if (container.getData().containsKey(name + ".class")) { + if (container.name.equals(containerName) && container.getData().containsKey(name + ".class")) { return container.getClassNode(name); } } return null; } - public static byte[] getClassBytes(String name) { + public static byte[] getClassBytes(String containerName, String name) { for (FileContainer container : files) { - if (container.getData().containsKey(name)) { + if (container.name.equals(containerName) && container.getData().containsKey(name)) { return container.getData().get(name); } } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/CommandLineInput.java b/src/main/java/the/bytecode/club/bytecodeviewer/CommandLineInput.java index ddb7aba7..57288ea1 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/CommandLineInput.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/CommandLineInput.java @@ -1,11 +1,6 @@ package the.bytecode.club.bytecodeviewer; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.DefaultParser; -import org.apache.commons.cli.Option; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.ParseException; +import org.apache.commons.cli.*; import org.apache.commons.io.FileUtils; import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.api.ExceptionUI; @@ -165,13 +160,14 @@ public class CommandLineInput { System.out.println("Decompiling " + input.getAbsolutePath() + " with " + use.getName()); BytecodeViewer.openFiles(new File[]{input}, false); + String containerName = BytecodeViewer.files.get(0).name; Thread.sleep(5 * 1000); if (target.equalsIgnoreCase("all")) { use.decompileToZip(output.getAbsolutePath()); } else { try { - ClassNode cn = BytecodeViewer.getClassNode(target); - byte[] bytes = BytecodeViewer.getClassBytes(target); + ClassNode cn = BytecodeViewer.getClassNode(containerName, target); + byte[] bytes = BytecodeViewer.getClassBytes(containerName, target); String contents = use.decompileClassNode(cn, bytes); FileUtils.write(output, contents, "UTF-8", false); } catch (Exception e) { diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/DecompilerSettings.java b/src/main/java/the/bytecode/club/bytecodeviewer/DecompilerSettings.java index bc7404e9..88ac590b 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/DecompilerSettings.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/DecompilerSettings.java @@ -3,7 +3,7 @@ package the.bytecode.club.bytecodeviewer; import com.eclipsesource.json.JsonObject; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; -import javax.swing.JCheckBoxMenuItem; +import javax.swing.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/FileChangeNotifier.java b/src/main/java/the/bytecode/club/bytecodeviewer/FileChangeNotifier.java index 03fc84af..ee4d69af 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/FileChangeNotifier.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/FileChangeNotifier.java @@ -28,6 +28,6 @@ import org.objectweb.asm.tree.ClassNode; */ public interface FileChangeNotifier { - void openClassFile(String name, ClassNode cn); - void openFile(String name, byte[] contents); + void openClassFile(String name, String container, ClassNode cn); + void openFile(String name, String container, byte[] contents); } \ No newline at end of file diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/FileDrop.java b/src/main/java/the/bytecode/club/bytecodeviewer/FileDrop.java index 40f18cdd..6784774c 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/FileDrop.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/FileDrop.java @@ -1,11 +1,7 @@ package the.bytecode.club.bytecodeviewer; import java.awt.datatransfer.DataFlavor; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; -import java.io.Reader; +import java.io.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/InitialBootScreen.java b/src/main/java/the/bytecode/club/bytecodeviewer/InitialBootScreen.java index c3bd97c4..5f56349b 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/InitialBootScreen.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/InitialBootScreen.java @@ -1,15 +1,8 @@ package the.bytecode.club.bytecodeviewer; -import javax.swing.JEditorPane; -import javax.swing.JFrame; -import javax.swing.JProgressBar; -import javax.swing.JScrollPane; +import javax.swing.*; import javax.swing.text.html.HTMLEditorKit; -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.awt.Toolkit; +import java.awt.*; import java.io.IOException; /*************************************************************************** diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/JarUtils.java b/src/main/java/the/bytecode/club/bytecodeviewer/JarUtils.java index daf433de..4fbbe88c 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/JarUtils.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/JarUtils.java @@ -4,12 +4,7 @@ import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.tree.ClassNode; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/Resources.java b/src/main/java/the/bytecode/club/bytecodeviewer/Resources.java index 43fcd1eb..a607f867 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/Resources.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/Resources.java @@ -3,7 +3,7 @@ package the.bytecode.club.bytecodeviewer; import org.imgscalr.Scalr; import javax.imageio.ImageIO; -import javax.swing.ImageIcon; +import javax.swing.*; import javax.xml.bind.DatatypeConverter; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/api/ASMUtil_OLD.java b/src/main/java/the/bytecode/club/bytecodeviewer/api/ASMUtil_OLD.java index b125b631..412304f5 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/api/ASMUtil_OLD.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/api/ASMUtil_OLD.java @@ -1,14 +1,6 @@ package the.bytecode.club.bytecodeviewer.api; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.InnerClassNode; -import org.objectweb.asm.tree.LocalVariableNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.TypeInsnNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import java.util.List; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/api/BytecodeViewer.java b/src/main/java/the/bytecode/club/bytecodeviewer/api/BytecodeViewer.java index e54bc6ee..51a7d43f 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/api/BytecodeViewer.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/api/BytecodeViewer.java @@ -154,8 +154,8 @@ public class BytecodeViewer { * the full name of the ClassNode * @return the ClassNode */ - public static ClassNode getClassNode(String name) { - return the.bytecode.club.bytecodeviewer.BytecodeViewer.getClassNode(name); + public static ClassNode getClassNode(String containerName, String name) { + return the.bytecode.club.bytecodeviewer.BytecodeViewer.getClassNode(containerName, name); } /** diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java b/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java index 33ae9357..c4453cf6 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java @@ -3,12 +3,8 @@ package the.bytecode.club.bytecodeviewer.api; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Resources; -import javax.swing.JFrame; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import java.awt.CardLayout; -import java.awt.Color; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; import java.io.PrintWriter; import java.io.StringWriter; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/api/PluginConsole.java b/src/main/java/the/bytecode/club/bytecodeviewer/api/PluginConsole.java index 35e3d118..fd0d97b5 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/api/PluginConsole.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/api/PluginConsole.java @@ -3,19 +3,11 @@ package the.bytecode.club.bytecodeviewer.api; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Resources; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTextField; +import javax.swing.*; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/compilers/JavaCompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/compilers/JavaCompiler.java index 32fe9649..7d5b86dc 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/compilers/JavaCompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/compilers/JavaCompiler.java @@ -6,11 +6,7 @@ import the.bytecode.club.bytecodeviewer.JarUtils; import the.bytecode.club.bytecodeviewer.MiscUtils; import the.bytecode.club.bytecodeviewer.Settings; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; +import java.io.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/compilers/KrakatauAssembler.java b/src/main/java/the/bytecode/club/bytecodeviewer/compilers/KrakatauAssembler.java index 6f50137e..2f2c7165 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/compilers/KrakatauAssembler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/compilers/KrakatauAssembler.java @@ -6,11 +6,7 @@ import the.bytecode.club.bytecodeviewer.JarUtils; import the.bytecode.club.bytecodeviewer.MiscUtils; import the.bytecode.club.bytecodeviewer.Settings; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; +import java.io.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/CFRDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/CFRDecompiler.java index 8571825f..a647f8cf 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/CFRDecompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/CFRDecompiler.java @@ -16,12 +16,7 @@ import org.benf.cfr.reader.util.bytestream.BaseByteData; import org.benf.cfr.reader.util.getopt.GetOptParser; import org.benf.cfr.reader.util.getopt.Options; import org.benf.cfr.reader.util.getopt.OptionsImpl; -import org.benf.cfr.reader.util.output.Dumper; -import org.benf.cfr.reader.util.output.FileDumper; -import org.benf.cfr.reader.util.output.IllegalIdentifierDump; -import org.benf.cfr.reader.util.output.NopSummaryDumper; -import org.benf.cfr.reader.util.output.SummaryDumper; -import org.benf.cfr.reader.util.output.ToStringDumper; +import org.benf.cfr.reader.util.output.*; import org.objectweb.asm.tree.ClassNode; import org.zeroturnaround.zip.ZipUtil; import the.bytecode.club.bytecodeviewer.BytecodeViewer; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/JDGUIDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/JDGUIDecompiler.java index 0f48ac2b..da518fb1 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/JDGUIDecompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/JDGUIDecompiler.java @@ -4,33 +4,11 @@ import jd.cli.preferences.CommonPreferences; import jd.cli.printer.text.PlainTextPrinter; import jd.core.loader.Loader; import jd.core.loader.LoaderException; -import jd.core.model.classfile.ClassFile; -import jd.core.model.classfile.ConstantPool; -import jd.core.model.classfile.attribute.AttributeInnerClasses; -import jd.core.model.classfile.attribute.InnerClass; -import jd.core.model.reference.ReferenceMap; -import jd.core.preferences.Preferences; -import jd.core.printer.Printer; import jd.core.process.DecompilerImpl; -import jd.core.process.analyzer.classfile.ClassFileAnalyzer; -import jd.core.process.analyzer.classfile.ReferenceAnalyzer; -import jd.core.process.deserializer.ClassFileDeserializer; -import jd.core.process.layouter.ClassFileLayouter; -import jd.core.process.writer.ClassFileWriter; import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.BytecodeViewer; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; +import java.io.*; import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDecompiler.java index 6625fee7..123dd760 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDecompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDecompiler.java @@ -9,12 +9,7 @@ import the.bytecode.club.bytecodeviewer.JarUtils; import the.bytecode.club.bytecodeviewer.MiscUtils; import the.bytecode.club.bytecodeviewer.Settings; -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.io.StringWriter; +import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.util.Enumeration; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDisassembler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDisassembler.java index 9209406e..06532e2b 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDisassembler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/KrakatauDisassembler.java @@ -1,6 +1,5 @@ package the.bytecode.club.bytecodeviewer.decompilers; -import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.objectweb.asm.tree.ClassNode; import org.zeroturnaround.zip.ZipUtil; @@ -9,12 +8,7 @@ import the.bytecode.club.bytecodeviewer.JarUtils; import the.bytecode.club.bytecodeviewer.MiscUtils; import the.bytecode.club.bytecodeviewer.Settings; -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.io.StringWriter; +import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.util.Enumeration; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/ProcyonDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/ProcyonDecompiler.java index b190a1fc..fceef88d 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/ProcyonDecompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/ProcyonDecompiler.java @@ -2,12 +2,7 @@ package the.bytecode.club.bytecodeviewer.decompilers; import com.beust.jcommander.JCommander; import com.strobel.assembler.InputTypeLoader; -import com.strobel.assembler.metadata.Buffer; -import com.strobel.assembler.metadata.ITypeLoader; -import com.strobel.assembler.metadata.JarTypeLoader; -import com.strobel.assembler.metadata.MetadataSystem; -import com.strobel.assembler.metadata.TypeDefinition; -import com.strobel.assembler.metadata.TypeReference; +import com.strobel.assembler.metadata.*; import com.strobel.core.StringUtilities; import com.strobel.decompiler.CommandLineOptions; import com.strobel.decompiler.DecompilationOptions; @@ -18,13 +13,7 @@ import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.JarUtils; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.io.StringWriter; -import java.io.Writer; +import java.io.*; import java.util.Enumeration; import java.util.HashSet; import java.util.Map; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/ClassNodeDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/ClassNodeDecompiler.java index ec9f71e0..a44aae63 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/ClassNodeDecompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/ClassNodeDecompiler.java @@ -7,6 +7,7 @@ import org.objectweb.asm.tree.InnerClassNode; import org.objectweb.asm.tree.MethodNode; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.DecompilerSettings; +import the.bytecode.club.bytecodeviewer.FileContainer; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; import java.util.ArrayList; @@ -51,10 +52,20 @@ public class ClassNodeDecompiler extends Decompiler { } public String decompileClassNode(ClassNode cn, byte[] b) { - return decompile(new PrefixedStringBuilder(), new ArrayList(), cn).toString(); + String containerName = null; + for (FileContainer container : BytecodeViewer.files) { + String name = cn.name + ".class"; + if (container.getData().containsKey(name)) { + if (container.getClassNode(name) == cn) + containerName = container.name; + } + } + System.out.println(containerName); + + return decompile(new PrefixedStringBuilder(), new ArrayList(), containerName, cn).toString(); } - protected static PrefixedStringBuilder decompile(PrefixedStringBuilder sb, ArrayList decompiledClasses, ClassNode cn) { + protected static PrefixedStringBuilder decompile(PrefixedStringBuilder sb, ArrayList decompiledClasses, String containerName, ClassNode cn) { ArrayList unableToDecompile = new ArrayList(); decompiledClasses.add(cn.name); sb.append(getAccessString(cn.access)); @@ -97,11 +108,11 @@ public class ClassNodeDecompiler extends Decompiler { String innerClassName = innerClassNode.name; if ((innerClassName != null) && !decompiledClasses.contains(innerClassName)) { decompiledClasses.add(innerClassName); - ClassNode cn1 = BytecodeViewer.getClassNode(innerClassName); + ClassNode cn1 = BytecodeViewer.getClassNode(containerName, innerClassName); if (cn1 != null) { sb.appendPrefix(" "); sb.append(BytecodeViewer.nl + BytecodeViewer.nl); - sb = decompile(sb, decompiledClasses, cn1); + sb = decompile(sb, decompiledClasses, containerName,cn1); sb.trimPrefix(5); sb.append(BytecodeViewer.nl); } else { diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPattern.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPattern.java index 9c14adef..5a6b8149 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPattern.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPattern.java @@ -2,27 +2,9 @@ package the.bytecode.club.bytecodeviewer.decompilers.bytecode; import eu.bibl.banalysis.filter.InstructionFilter; import eu.bibl.banalysis.filter.OpcodeFilter; -import eu.bibl.banalysis.filter.insn.FieldInstructionFilter; -import eu.bibl.banalysis.filter.insn.IincInstructionFilter; -import eu.bibl.banalysis.filter.insn.InsnInstructionFilter; -import eu.bibl.banalysis.filter.insn.JumpInstructionFilter; -import eu.bibl.banalysis.filter.insn.LdcInstructionFilter; -import eu.bibl.banalysis.filter.insn.MethodInstructionFilter; -import eu.bibl.banalysis.filter.insn.MultiANewArrayInstructionFilter; -import eu.bibl.banalysis.filter.insn.TypeInstructionFilter; -import eu.bibl.banalysis.filter.insn.VarInstructionFilter; +import eu.bibl.banalysis.filter.insn.*; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.LabelNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MultiANewArrayInsnNode; -import org.objectweb.asm.tree.TypeInsnNode; -import org.objectweb.asm.tree.VarInsnNode; +import org.objectweb.asm.tree.*; import java.util.Arrays; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPrinter.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPrinter.java index 272519dc..c8916692 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPrinter.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/InstructionPrinter.java @@ -3,23 +3,7 @@ package the.bytecode.club.bytecodeviewer.decompilers.bytecode; import eu.bibl.banalysis.asm.desc.OpcodeInfo; import org.apache.commons.lang3.StringEscapeUtils; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.FrameNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.IntInsnNode; -import org.objectweb.asm.tree.InvokeDynamicInsnNode; -import org.objectweb.asm.tree.JumpInsnNode; -import org.objectweb.asm.tree.LabelNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.LineNumberNode; -import org.objectweb.asm.tree.LookupSwitchInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.TableSwitchInsnNode; -import org.objectweb.asm.tree.TypeInsnNode; -import org.objectweb.asm.tree.VarInsnNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; import java.io.BufferedWriter; @@ -27,11 +11,7 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; +import java.util.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/MethodNodeDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/MethodNodeDecompiler.java index 05463daa..afe52510 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/MethodNodeDecompiler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/bytecode/MethodNodeDecompiler.java @@ -2,11 +2,7 @@ package the.bytecode.club.bytecodeviewer.decompilers.bytecode; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AnnotationNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.LocalVariableNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.TryCatchBlockNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/AboutWindow.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/AboutWindow.java index a4cf4ac4..9b6e29ca 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/AboutWindow.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/AboutWindow.java @@ -4,13 +4,8 @@ import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.Settings; -import javax.swing.JFrame; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import java.awt.CardLayout; -import java.awt.Color; -import java.awt.Font; -import java.awt.Toolkit; +import javax.swing.*; +import java.awt.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/AllatoriStringDecrypterOptions.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/AllatoriStringDecrypterOptions.java index 489022e6..03e12ef4 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/AllatoriStringDecrypterOptions.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/AllatoriStringDecrypterOptions.java @@ -4,11 +4,8 @@ import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.plugin.PluginManager; import the.bytecode.club.bytecodeviewer.plugin.preinstalled.AllatoriStringDecrypter; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JTextField; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/ClassViewer.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/ClassViewer.java index 79c629b0..5dd0f090 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/ClassViewer.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/ClassViewer.java @@ -3,35 +3,17 @@ package the.bytecode.club.bytecodeviewer.gui; import com.jhe.hexed.JHexEditor; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rtextarea.RTextScrollPane; -import org.objectweb.asm.Type; import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; -import javax.swing.ButtonGroup; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JRadioButtonMenuItem; -import javax.swing.JSplitPane; -import javax.swing.JTextField; +import javax.swing.*; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.HierarchyEvent; -import java.awt.event.HierarchyListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; +import java.awt.*; +import java.awt.event.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -137,7 +119,6 @@ public class ClassViewer extends Viewer { return splitter; } - String name; JSplitPane sp; JSplitPane sp2; public List decompilers = Arrays.asList(null, null, null); @@ -291,7 +272,7 @@ public class ClassViewer extends Viewer { } } - public ClassViewer(final String name, final ClassNode cn) { + public ClassViewer(final String name, final String container, final ClassNode cn) { for (int i = 0; i < panels.size(); i++) { final JTextField textField = fields.get(i); JPanel searchPanel = searches.get(i); @@ -336,12 +317,13 @@ public class ClassViewer extends Viewer { } this.name = name; + this.container = container; this.cn = cn; - this.setName(name); + updateName(); this.setLayout(new BorderLayout()); this.sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panels.get(0), panels.get(1)); - JHexEditor hex = new JHexEditor(BytecodeViewer.getClassBytes(cn.name + ".class")); + JHexEditor hex = new JHexEditor(BytecodeViewer.getClassBytes(container, cn.name + ".class")); this.sp2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, sp, panels.get(2)); this.add(sp2, BorderLayout.CENTER); @@ -383,7 +365,7 @@ public class ClassViewer extends Viewer { } public void startPaneUpdater(final JButton button) { - this.cn = BytecodeViewer.getClassNode(cn.name); //update the classnode + this.cn = BytecodeViewer.getClassNode(container, cn.name); //update the classnode setPanes(); for (JPanel jpanel : panels) { diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/ExportJar.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/ExportJar.java index 9be94922..0f70dee4 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/ExportJar.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/ExportJar.java @@ -3,13 +3,8 @@ package the.bytecode.club.bytecodeviewer.gui; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.JarUtils; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileChooser.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileChooser.java index 4579f257..6ec960fd 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileChooser.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileChooser.java @@ -3,7 +3,7 @@ package the.bytecode.club.bytecodeviewer.gui; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Settings; -import javax.swing.JFileChooser; +import javax.swing.*; import javax.swing.filechooser.FileFilter; import java.io.File; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileNavigationPane.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileNavigationPane.java index 7e6fa308..151d5c89 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileNavigationPane.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileNavigationPane.java @@ -1,46 +1,16 @@ package the.bytecode.club.bytecodeviewer.gui; import org.objectweb.asm.tree.ClassNode; -import the.bytecode.club.bytecodeviewer.BytecodeViewer; -import the.bytecode.club.bytecodeviewer.FileChangeNotifier; -import the.bytecode.club.bytecodeviewer.FileContainer; -import the.bytecode.club.bytecodeviewer.FileDrop; -import the.bytecode.club.bytecodeviewer.Resources; +import the.bytecode.club.bytecodeviewer.*; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextField; -import javax.swing.JTree; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeCellRenderer; -import javax.swing.tree.MutableTreeNode; -import javax.swing.tree.TreeNode; -import javax.swing.tree.TreePath; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; +import javax.swing.*; +import javax.swing.tree.*; +import java.awt.*; +import java.awt.event.*; import java.awt.font.FontRenderContext; import java.awt.geom.Rectangle2D; import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Enumeration; -import java.util.Iterator; +import java.util.*; import java.util.Map.Entry; /*************************************************************************** @@ -264,12 +234,12 @@ public class FileNavigationPane extends VisibleComponent implements FileDrop.Lis new FileDrop(this, this); } - public void openClassFileToWorkSpace(final String name, final ClassNode node) { - fcn.openClassFile(name, node); + public void openClassFileToWorkSpace(final String name, final String container, final ClassNode node) { + fcn.openClassFile(name, container, node); } - public void openFileToWorkSpace(String name, byte[] contents) { - fcn.openFile(name, contents); + public void openFileToWorkSpace(String name, final String container, byte[] contents) { + fcn.openFile(name, container, contents); } @Override @@ -484,13 +454,14 @@ public class FileNavigationPane extends VisibleComponent implements FileDrop.Lis } String name = nameBuffer.toString(); + String containerName = path.getPathComponent(1).toString(); if (name.endsWith(".class")) { - final ClassNode cn = BytecodeViewer.getClassNode(name.substring(0, name.length() - ".class".length())); + final ClassNode cn = BytecodeViewer.getClassNode(containerName, name.substring(0, name.length() - ".class".length())); if (cn != null) { - openClassFileToWorkSpace(nameBuffer.toString(), cn); + openClassFileToWorkSpace(nameBuffer.toString(), containerName, cn); } } else { - openFileToWorkSpace(nameBuffer.toString(), BytecodeViewer.getFileContents(nameBuffer.toString())); + openFileToWorkSpace(nameBuffer.toString(), containerName, BytecodeViewer.getFileContents(nameBuffer.toString())); } } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileViewer.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileViewer.java index c2b578cb..1e0aeaaa 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileViewer.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/FileViewer.java @@ -9,24 +9,12 @@ import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Resources; import javax.imageio.ImageIO; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextArea; -import javax.swing.JTextField; +import javax.swing.*; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.awt.event.MouseWheelEvent; -import java.awt.event.MouseWheelListener; +import java.awt.*; +import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -62,7 +50,6 @@ public class FileViewer extends Viewer { private static final long serialVersionUID = 6103372882168257164L; - String name; private byte[] contents; RSyntaxTextArea panelArea = new RSyntaxTextArea(); JPanel panel = new JPanel(new BorderLayout()); @@ -201,10 +188,11 @@ public class FileViewer extends Viewer { return asciiEncoder.canEncode(v); } - public FileViewer(final String name, final byte[] contents) { + public FileViewer(final String name, final String container, final byte[] contents) { this.name = name; + this.container = container; this.contents = contents; - this.setName(name); + updateName(); this.setLayout(new BorderLayout()); this.add(panel2, BorderLayout.CENTER); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/GraphicialReflectionKit.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/GraphicialReflectionKit.java index ea6349a5..f1b66a38 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/GraphicialReflectionKit.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/GraphicialReflectionKit.java @@ -2,11 +2,8 @@ package the.bytecode.club.bytecodeviewer.gui; import the.bytecode.club.bytecodeviewer.Resources; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; -import java.awt.BorderLayout; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/MainViewerGUI.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/MainViewerGUI.java index 85deb597..7bd7e1e5 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/MainViewerGUI.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/MainViewerGUI.java @@ -2,15 +2,7 @@ package the.bytecode.club.bytecodeviewer.gui; import org.apache.commons.io.FileUtils; import org.objectweb.asm.tree.ClassNode; -import the.bytecode.club.bytecodeviewer.BytecodeViewer; -import the.bytecode.club.bytecodeviewer.DecompilerSettings; -import the.bytecode.club.bytecodeviewer.Dex2Jar; -import the.bytecode.club.bytecodeviewer.FileChangeNotifier; -import the.bytecode.club.bytecodeviewer.FileContainer; -import the.bytecode.club.bytecodeviewer.JarUtils; -import the.bytecode.club.bytecodeviewer.MiscUtils; -import the.bytecode.club.bytecodeviewer.Resources; -import the.bytecode.club.bytecodeviewer.Settings; +import the.bytecode.club.bytecodeviewer.*; import the.bytecode.club.bytecodeviewer.decompilers.CFRDecompiler; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; import the.bytecode.club.bytecodeviewer.decompilers.FernFlowerDecompiler; @@ -20,46 +12,15 @@ import the.bytecode.club.bytecodeviewer.obfuscators.rename.RenameClasses; import the.bytecode.club.bytecodeviewer.obfuscators.rename.RenameFields; import the.bytecode.club.bytecodeviewer.obfuscators.rename.RenameMethods; import the.bytecode.club.bytecodeviewer.plugin.PluginManager; -import the.bytecode.club.bytecodeviewer.plugin.preinstalled.CodeSequenceDiagram; -import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ShowAllStrings; -import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ShowMainMethods; -import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ZKMStringDecrypter; -import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ZStringArrayDecrypter; +import the.bytecode.club.bytecodeviewer.plugin.preinstalled.*; -import javax.swing.BoxLayout; -import javax.swing.ButtonGroup; -import javax.swing.JCheckBoxMenuItem; -import javax.swing.JDialog; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JRadioButtonMenuItem; -import javax.swing.JSeparator; -import javax.swing.JSpinner; -import javax.swing.JSplitPane; -import javax.swing.JTextField; -import javax.swing.SpinnerNumberModel; -import javax.swing.SwingUtilities; +import javax.swing.*; import javax.swing.filechooser.FileFilter; -import java.awt.Dimension; -import java.awt.Frame; -import java.awt.KeyEventDispatcher; -import java.awt.KeyboardFocusManager; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; +import java.awt.*; +import java.awt.event.*; import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; +import java.util.*; import java.util.List; -import java.util.Map; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * @@ -244,10 +205,11 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { public final ButtonGroup panelGroup1 = new ButtonGroup(); public final ButtonGroup panelGroup2 = new ButtonGroup(); public final ButtonGroup panelGroup3 = new ButtonGroup(); + public final JCheckBox mnShowContainer = new JCheckBox("Show Containing File's Name"); private final JMenuItem mntmSetOpitonalLibrary = new JMenuItem("Set Optional Library Folder"); private final JMenuItem mntmPingback = new JMenuItem("Pingback"); private final JMenu mnFontSize = new JMenu("Font Size"); - private final JCheckBoxMenuItem chckbxmntmDeleteForiegnoutdatedLibs = new JCheckBoxMenuItem("Delete Foriegn/Outdated Libs"); + private final JCheckBoxMenuItem chckbxmntmDeleteForiegnoutdatedLibs = new JCheckBoxMenuItem("Delete Foreign/Outdated Libs"); private final JMenu mnApkConversion = new JMenu("APK Conversion"); public final ButtonGroup apkConversionGroup = new ButtonGroup(); public final JRadioButtonMenuItem apkConversionDex = new JRadioButtonMenuItem("Dex2Jar"); @@ -830,14 +792,15 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { int result = -1; for (int k = 0; k < options.length; k++) if (options[k].equals(obj)) result = k; + String containerName = BytecodeViewer.files.get(0).name; if (result == 0) { Thread t = new Thread() { @Override public void run() { try { - ClassNode cn = BytecodeViewer.getClassNode(s); - byte[] bytes = BytecodeViewer.getClassBytes(s); + ClassNode cn = BytecodeViewer.getClassNode(containerName, s); + byte[] bytes = BytecodeViewer.getClassBytes(containerName, s); String contents = Decompiler.PROCYON.decompileClassNode(cn, bytes); FileUtils.write(new File(path), contents, "UTF-8", false); BytecodeViewer.viewer.setIcon(false); @@ -853,8 +816,8 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { @Override public void run() { try { - ClassNode cn = BytecodeViewer.getClassNode(s); - byte[] bytes = BytecodeViewer.getClassBytes(s); + ClassNode cn = BytecodeViewer.getClassNode(containerName, s); + byte[] bytes = BytecodeViewer.getClassBytes(containerName, s); String contents = Decompiler.CFR.decompileClassNode(cn, bytes); FileUtils.write(new File(path), contents, "UTF-8", false); BytecodeViewer.viewer.setIcon(false); @@ -870,8 +833,8 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { @Override public void run() { try { - ClassNode cn = BytecodeViewer.getClassNode(s); - byte[] bytes = BytecodeViewer.getClassBytes(s); + ClassNode cn = BytecodeViewer.getClassNode(containerName, s); + byte[] bytes = BytecodeViewer.getClassBytes(containerName, s); String contents = Decompiler.FERNFLOWER.decompileClassNode(cn, bytes); FileUtils.write(new File(path), contents, "UTF-8", false); BytecodeViewer.viewer.setIcon(false); @@ -887,8 +850,8 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { @Override public void run() { try { - ClassNode cn = BytecodeViewer.getClassNode(s); - byte[] bytes = BytecodeViewer.getClassBytes(s); + ClassNode cn = BytecodeViewer.getClassNode(containerName, s); + byte[] bytes = BytecodeViewer.getClassBytes(containerName, s); String contents = Decompiler.KRAKATAU.decompileClassNode(cn, bytes); FileUtils.write(new File(path), contents, "UTF-8", false); BytecodeViewer.viewer.setIcon(false); @@ -1263,11 +1226,26 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { fontSpinner.setSize(new Dimension(42, 20)); fontSpinner.setModel(new SpinnerNumberModel(12, 1, null, 1)); viewMenu.add(mnFontSize); - mnFontSize.add(fontSpinner); - - panelGroup1.setSelected(allDecompilersRev.get(panelGroup1).get(Decompiler.JDGUI).getModel(), true); + viewMenu.add(mnShowContainer); + mnShowContainer.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + JTabbedPane tabs = workPane.tabs; + Component[] components = tabs.getComponents(); + for (int i = 0; i < components.length; i++) { + Component c = components[i]; + if (c instanceof Viewer) { + ((Viewer) c).updateName(); + int idx = tabs.indexOfComponent(c); + tabs.setTabComponentAt(idx, new TabbedPane(c.getName(), tabs)); + workPane.tabs.setTitleAt(idx, c.getName()); + } + } + } + }); + panelGroup1.setSelected(allDecompilersRev.get(panelGroup1).get(Decompiler.JDGUI).getModel(), true); panelGroup2.setSelected(allDecompilersRev.get(panelGroup2).get(Decompiler.BYTECODE).getModel(), true); panelGroup3.setSelected(allDecompilersRev.get(panelGroup3).get(null).getModel(), true); this.setLocationRelativeTo(null); @@ -1297,16 +1275,16 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier { } @Override - public void openClassFile(final String name, final ClassNode cn) { + public void openClassFile(final String name, String container, final ClassNode cn) { for (final VisibleComponent vc : rfComps) { - vc.openClassFile(name, cn); + vc.openClassFile(name, container, cn); } } @Override - public void openFile(final String name, byte[] content) { + public void openFile(final String name, String container, byte[] content) { for (final VisibleComponent vc : rfComps) { - vc.openFile(name, content); + vc.openFile(name, container, content); } } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/MaliciousCodeScannerOptions.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/MaliciousCodeScannerOptions.java index 9ac5c439..a2d8a1af 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/MaliciousCodeScannerOptions.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/MaliciousCodeScannerOptions.java @@ -4,10 +4,8 @@ import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.plugin.PluginManager; import the.bytecode.club.bytecodeviewer.plugin.preinstalled.MaliciousCodeScanner; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JFrame; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/PaneUpdaterThread.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/PaneUpdaterThread.java index 81f7dead..1a9b566f 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/PaneUpdaterThread.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/PaneUpdaterThread.java @@ -26,11 +26,8 @@ import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.api.ExceptionUI; import the.bytecode.club.bytecodeviewer.decompilers.Decompiler; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import java.awt.Font; +import javax.swing.*; +import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; @@ -57,7 +54,7 @@ public class PaneUpdaterThread extends Thread { public void run() { try { - final byte[] b = BytecodeViewer.getClassBytes(viewer.cn.name + ".class"); + final byte[] b = BytecodeViewer.getClassBytes(viewer.container, viewer.cn.name + ".class"); if (decompiler != Decompiler.HEXCODE) { RSyntaxTextArea panelArea = new RSyntaxTextArea(); panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/ReplaceStringsOptions.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/ReplaceStringsOptions.java index c806bf5f..af9498cc 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/ReplaceStringsOptions.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/ReplaceStringsOptions.java @@ -4,12 +4,8 @@ import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.plugin.PluginManager; import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ReplaceStrings; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JTextField; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/RunOptions.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/RunOptions.java index 4b03f617..a866076f 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/RunOptions.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/RunOptions.java @@ -7,12 +7,8 @@ import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.plugin.PluginManager; import the.bytecode.club.bytecodeviewer.plugin.preinstalled.EZInjection; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JTextField; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/SearchingPane.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/SearchingPane.java index f37e0a8a..655f6c4d 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/SearchingPane.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/SearchingPane.java @@ -3,29 +3,14 @@ package the.bytecode.club.bytecodeviewer.gui; import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.FileChangeNotifier; -import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread; -import the.bytecode.club.bytecodeviewer.searching.FieldCallSearch; -import the.bytecode.club.bytecodeviewer.searching.LDCSearch; -import the.bytecode.club.bytecodeviewer.searching.MethodCallSearch; -import the.bytecode.club.bytecodeviewer.searching.RegexInsnFinder; -import the.bytecode.club.bytecodeviewer.searching.RegexSearch; -import the.bytecode.club.bytecodeviewer.searching.SearchResultNotifier; -import the.bytecode.club.bytecodeviewer.searching.SearchTypeDetails; +import the.bytecode.club.bytecodeviewer.searching.*; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JComboBox; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTree; +import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; -import java.awt.BorderLayout; -import java.awt.GridLayout; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; @@ -210,12 +195,13 @@ public class SearchingPane extends VisibleComponent { @Override public void valueChanged(final TreeSelectionEvent arg0) { String path = arg0.getPath().toString(); + String containerName = arg0.getPath().getPathComponent(1).toString(); String className = path.split(", ")[1].split("\\.")[0]; - final ClassNode fN = BytecodeViewer.getClassNode(className); + final ClassNode fN = BytecodeViewer.getClassNode(containerName, className); if (fN != null) { MainViewerGUI.getComponent(FileNavigationPane.class) - .openClassFileToWorkSpace(className + ".class", fN); + .openClassFileToWorkSpace(className + ".class", containerName, fN); } System.out.println(className); @@ -247,7 +233,7 @@ public class SearchingPane extends VisibleComponent { } @Override - public void openFile(String name, byte[] contents) { + public void openFile(String name, String container, byte[] contents) { // TODO Auto-generated method stub } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/SystemErrConsole.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/SystemErrConsole.java index 1f1c5df7..f420880f 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/SystemErrConsole.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/SystemErrConsole.java @@ -3,19 +3,11 @@ package the.bytecode.club.bytecodeviewer.gui; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.Resources; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTextField; +import javax.swing.*; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/TabbedPane.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/TabbedPane.java index 2e429746..e1ca2261 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/TabbedPane.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/TabbedPane.java @@ -1,26 +1,9 @@ package the.bytecode.club.bytecodeviewer.gui; -import javax.swing.AbstractButton; -import javax.swing.BorderFactory; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JMenuItem; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JTabbedPane; +import javax.swing.*; import javax.swing.plaf.basic.BasicButtonUI; -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; +import java.awt.*; +import java.awt.event.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/Viewer.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/Viewer.java index 2d163aec..783ca30c 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/Viewer.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/Viewer.java @@ -1,8 +1,9 @@ package the.bytecode.club.bytecodeviewer.gui; import org.objectweb.asm.tree.ClassNode; +import the.bytecode.club.bytecodeviewer.BytecodeViewer; -import javax.swing.JPanel; +import javax.swing.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * @@ -26,7 +27,11 @@ public abstract class Viewer extends JPanel { public ClassNode cn; public String name; + public String container; private static final long serialVersionUID = -2965538493489119191L; + public void updateName() { + this.setName(name + (BytecodeViewer.viewer.mnShowContainer.isSelected() ? "(" + container + ")" : "")); + } } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/VisibleComponent.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/VisibleComponent.java index f680aa36..c60c043f 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/VisibleComponent.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/VisibleComponent.java @@ -3,7 +3,7 @@ package the.bytecode.club.bytecodeviewer.gui; import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.FileChangeNotifier; -import javax.swing.JInternalFrame; +import javax.swing.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite * @@ -49,10 +49,10 @@ public abstract class VisibleComponent extends JInternalFrame implements } @Override - public void openClassFile(final String name, final ClassNode cn) { + public void openClassFile(final String name, String container, final ClassNode cn) { } @Override - public void openFile(final String name, byte[] contents) { + public void openFile(final String name, String container, byte[] contents) { } } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/WorkPane.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/WorkPane.java index a6be82e4..48c4dce8 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/WorkPane.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/WorkPane.java @@ -4,14 +4,10 @@ import org.objectweb.asm.tree.ClassNode; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.FileChangeNotifier; -import javax.swing.JButton; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; +import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.FlowLayout; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ContainerEvent; @@ -89,10 +85,12 @@ public class WorkPane extends VisibleComponent implements ActionListener { public void componentRemoved(final ContainerEvent e) { final Component c = e.getChild(); if (c instanceof ClassViewer) { - workingOn.remove(((ClassViewer) c).name); + ClassViewer cv = (ClassViewer) c; + workingOn.remove(cv.container + "$" + cv.name); } if (c instanceof FileViewer) { - workingOn.remove(((FileViewer) c).name); + FileViewer fv = (FileViewer) c; + workingOn.remove(fv.container + "$" + fv.name); } } @@ -110,43 +108,45 @@ public class WorkPane extends VisibleComponent implements ActionListener { int tabCount = 0; - public void addWorkingFile(final String name, final ClassNode cn) { - if (!workingOn.containsKey(name)) { - final JPanel tabComp = new ClassViewer(name, cn); + public void addWorkingFile(final String name, String container, final ClassNode cn) { + String key = container + "$" + name; + if (!workingOn.containsKey(key)) { + final JPanel tabComp = new ClassViewer(name, container, cn); tabs.add(tabComp); final int tabCount = tabs.indexOfComponent(tabComp); - workingOn.put(name, tabCount); - tabs.setTabComponentAt(tabCount, new TabbedPane(name,tabs)); + workingOn.put(key, tabCount); + tabs.setTabComponentAt(tabCount, new TabbedPane(name, tabs)); tabs.setSelectedIndex(tabCount); } else { - tabs.setSelectedIndex(workingOn.get(name)); + tabs.setSelectedIndex(workingOn.get(key)); } } - public void addFile(final String name, byte[] contents) { + public void addFile(final String name, String container, byte[] contents) { if(contents == null) //a directory return; - - if (!workingOn.containsKey(name)) { - final Component tabComp = new FileViewer(name, contents); + + String key = container + "$" + name; + if (!workingOn.containsKey(key)) { + final Component tabComp = new FileViewer(name, container, contents); tabs.add(tabComp); final int tabCount = tabs.indexOfComponent(tabComp); - workingOn.put(name, tabCount); - tabs.setTabComponentAt(tabCount, new TabbedPane(name,tabs)); + workingOn.put(key, tabCount); + tabs.setTabComponentAt(tabCount, new TabbedPane(name, tabs)); tabs.setSelectedIndex(tabCount); } else { - tabs.setSelectedIndex(workingOn.get(name)); + tabs.setSelectedIndex(workingOn.get(key)); } } @Override - public void openClassFile(final String name, final ClassNode cn) { - addWorkingFile(name, cn); + public void openClassFile(final String name, String container, final ClassNode cn) { + addWorkingFile(name, container, cn); } @Override - public void openFile(final String name, byte[] content) { - addFile(name, content); + public void openFile(final String name, String container, byte[] content) { + addFile(name, container, content); } public Viewer getCurrentViewer() { diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/PluginManager.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/PluginManager.java index 465214ca..2b74df77 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/PluginManager.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/PluginManager.java @@ -3,11 +3,7 @@ package the.bytecode.club.bytecodeviewer.plugin; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.MiscUtils; import the.bytecode.club.bytecodeviewer.api.Plugin; -import the.bytecode.club.bytecodeviewer.plugin.strategies.CompiledJavaPluginLaunchStrategy; -import the.bytecode.club.bytecodeviewer.plugin.strategies.GroovyPluginLaunchStrategy; -import the.bytecode.club.bytecodeviewer.plugin.strategies.JavaPluginLaunchStrategy; -import the.bytecode.club.bytecodeviewer.plugin.strategies.PythonPluginLaunchStrategy; -import the.bytecode.club.bytecodeviewer.plugin.strategies.RubyPluginLaunchStrategy; +import the.bytecode.club.bytecodeviewer.plugin.strategies.*; import javax.swing.filechooser.FileFilter; import java.io.File; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/AllatoriStringDecrypter.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/AllatoriStringDecrypter.java index d79335d8..b3b310df 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/AllatoriStringDecrypter.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/AllatoriStringDecrypter.java @@ -1,20 +1,13 @@ package the.bytecode.club.bytecodeviewer.plugin.preinstalled; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.InvokeDynamicInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.JarUtils; import the.bytecode.club.bytecodeviewer.api.ExceptionUI; import the.bytecode.club.bytecodeviewer.api.Plugin; import the.bytecode.club.bytecodeviewer.api.PluginConsole; -import javax.swing.JDialog; -import javax.swing.JOptionPane; +import javax.swing.*; import java.io.IOException; import java.lang.reflect.Method; import java.util.ArrayList; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/CodeSequenceDiagram.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/CodeSequenceDiagram.java index ebb95414..73f66eeb 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/CodeSequenceDiagram.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/CodeSequenceDiagram.java @@ -11,9 +11,8 @@ import the.bytecode.club.bytecodeviewer.Resources; import the.bytecode.club.bytecodeviewer.api.Plugin; import the.bytecode.club.bytecodeviewer.gui.ClassViewer; -import javax.swing.JFrame; -import javax.swing.UIManager; -import java.awt.Font; +import javax.swing.*; +import java.awt.*; import java.awt.font.FontRenderContext; import java.awt.geom.AffineTransform; import java.util.ArrayList; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java index 458c1181..559df832 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java @@ -1,11 +1,7 @@ package the.bytecode.club.bytecodeviewer.plugin.preinstalled; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.api.BytecodeHook; import the.bytecode.club.bytecodeviewer.api.Plugin; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/MaliciousCodeScanner.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/MaliciousCodeScanner.java index ec53fa62..0bc76a7d 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/MaliciousCodeScanner.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/MaliciousCodeScanner.java @@ -1,14 +1,7 @@ package the.bytecode.club.bytecodeviewer.plugin.preinstalled; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.BytecodeViewer; import the.bytecode.club.bytecodeviewer.api.Plugin; import the.bytecode.club.bytecodeviewer.api.PluginConsole; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ReplaceStrings.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ReplaceStrings.java index ce0286c4..634c85b9 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ReplaceStrings.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ReplaceStrings.java @@ -1,11 +1,6 @@ package the.bytecode.club.bytecodeviewer.plugin.preinstalled; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.api.Plugin; import the.bytecode.club.bytecodeviewer.api.PluginConsole; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ShowAllStrings.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ShowAllStrings.java index b5cb7df4..7a30601d 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ShowAllStrings.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ShowAllStrings.java @@ -1,11 +1,6 @@ package the.bytecode.club.bytecodeviewer.plugin.preinstalled; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; import the.bytecode.club.bytecodeviewer.api.ExceptionUI; import the.bytecode.club.bytecodeviewer.api.Plugin; import the.bytecode.club.bytecodeviewer.api.PluginConsole; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ZStringArrayDecrypter.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ZStringArrayDecrypter.java index f982fae2..0383fcd1 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ZStringArrayDecrypter.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/ZStringArrayDecrypter.java @@ -6,8 +6,7 @@ import the.bytecode.club.bytecodeviewer.api.ExceptionUI; import the.bytecode.club.bytecodeviewer.api.Plugin; import the.bytecode.club.bytecodeviewer.api.PluginConsole; -import javax.swing.JDialog; -import javax.swing.JOptionPane; +import javax.swing.*; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java b/src/main/java/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java index d96cc195..7444bd44 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java @@ -2,16 +2,10 @@ package the.bytecode.club.bytecodeviewer.searching; import eu.bibl.banalysis.asm.desc.OpcodeInfo; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; -import java.awt.GridLayout; +import javax.swing.*; +import java.awt.*; import java.util.Iterator; import java.util.ListIterator; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java b/src/main/java/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java index ca30598d..2ce410ca 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java @@ -1,17 +1,10 @@ package the.bytecode.club.bytecodeviewer.searching; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; -import java.awt.GridLayout; +import javax.swing.*; +import java.awt.*; import java.util.Iterator; import java.util.ListIterator; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java b/src/main/java/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java index 397a121d..ce303bcd 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java @@ -2,16 +2,10 @@ package the.bytecode.club.bytecodeviewer.searching; import eu.bibl.banalysis.asm.desc.OpcodeInfo; import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.*; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; -import java.awt.GridLayout; +import javax.swing.*; +import java.awt.*; import java.util.Iterator; import java.util.ListIterator; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexInsnFinder.java b/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexInsnFinder.java index e979ff6a..6ed82e32 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexInsnFinder.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexInsnFinder.java @@ -1,17 +1,6 @@ package the.bytecode.club.bytecodeviewer.searching; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.FieldInsnNode; -import org.objectweb.asm.tree.IincInsnNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.IntInsnNode; -import org.objectweb.asm.tree.LdcInsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.MethodNode; -import org.objectweb.asm.tree.MultiANewArrayInsnNode; -import org.objectweb.asm.tree.TypeInsnNode; -import org.objectweb.asm.tree.VarInsnNode; +import org.objectweb.asm.tree.*; import java.rmi.UnexpectedException; import java.util.ArrayList; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java b/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java index 1bcd1c4c..bb07f009 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java @@ -4,10 +4,8 @@ import org.objectweb.asm.Type; import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.MethodNode; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; -import java.awt.GridLayout; +import javax.swing.*; +import java.awt.*; import java.util.Iterator; /*************************************************************************** diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/searching/SearchTypeDetails.java b/src/main/java/the/bytecode/club/bytecodeviewer/searching/SearchTypeDetails.java index 27877d47..bda74a15 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/searching/SearchTypeDetails.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/searching/SearchTypeDetails.java @@ -2,7 +2,7 @@ package the.bytecode.club.bytecodeviewer.searching; import org.objectweb.asm.tree.ClassNode; -import javax.swing.JPanel; +import javax.swing.*; /*************************************************************************** * Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *