Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java Tue Jun 21 20:50:19 2016 @@ -69,11 +69,11 @@ public class ClassPath { */ public ClassPath(final String class_path) { this.class_path = class_path; - List<PathEntry> list = new ArrayList<>(); - for (StringTokenizer tok = new StringTokenizer(class_path, File.pathSeparator); tok.hasMoreTokens();) { - String path = tok.nextToken(); + final List<PathEntry> list = new ArrayList<>(); + for (final StringTokenizer tok = new StringTokenizer(class_path, File.pathSeparator); tok.hasMoreTokens();) { + final String path = tok.nextToken(); if (!path.isEmpty()) { - File file = new File(path); + final File file = new File(path); try { if (file.exists()) { if (file.isDirectory()) { @@ -82,7 +82,7 @@ public class ClassPath { list.add(new Zip(new ZipFile(file))); } } - } catch (IOException e) { + } catch (final IOException e) { if (path.endsWith(".zip") || path.endsWith(".jar")) { System.err.println("CLASSPATH component " + file + ": " + e); } @@ -124,7 +124,7 @@ public class ClassPath { @Override public boolean equals( final Object o ) { if (o instanceof ClassPath) { - ClassPath cp = (ClassPath)o; + final ClassPath cp = (ClassPath)o; return class_path.equals(cp.toString()); } return false; @@ -133,10 +133,10 @@ public class ClassPath { private static void getPathComponents( final String path, final List<String> list ) { if (path != null) { - StringTokenizer tok = new StringTokenizer(path, File.pathSeparator); + final StringTokenizer tok = new StringTokenizer(path, File.pathSeparator); while (tok.hasMoreTokens()) { - String name = tok.nextToken(); - File file = new File(name); + final String name = tok.nextToken(); + final File file = new File(name); if (file.exists()) { list.add(name); } @@ -152,26 +152,26 @@ public class ClassPath { */ // @since 6.0 no longer final public static String getClassPath() { - String class_path = System.getProperty("java.class.path"); - String boot_path = System.getProperty("sun.boot.class.path"); - String ext_path = System.getProperty("java.ext.dirs"); - List<String> list = new ArrayList<>(); + final String class_path = System.getProperty("java.class.path"); + final String boot_path = System.getProperty("sun.boot.class.path"); + final String ext_path = System.getProperty("java.ext.dirs"); + final List<String> list = new ArrayList<>(); getPathComponents(class_path, list); getPathComponents(boot_path, list); - List<String> dirs = new ArrayList<>(); + final List<String> dirs = new ArrayList<>(); getPathComponents(ext_path, dirs); - for (String d : dirs) { - File ext_dir = new File(d); - String[] extensions = ext_dir.list(ARCHIVE_FILTER); + for (final String d : dirs) { + final File ext_dir = new File(d); + final String[] extensions = ext_dir.list(ARCHIVE_FILTER); if (extensions != null) { - for (String extension : extensions) { + for (final String extension : extensions) { list.add(ext_dir.getPath() + File.separatorChar + extension); } } } - StringBuilder buf = new StringBuilder(); + final StringBuilder buf = new StringBuilder(); String separator = ""; - for (String path : list) { + for (final String path : list) { buf.append(separator); separator = File.pathSeparator; buf.append(path); @@ -200,7 +200,7 @@ public class ClassPath { InputStream is = null; try { is = getClass().getClassLoader().getResourceAsStream(name + suffix); // may return null - } catch (Exception e) { + } catch (final Exception e) { // ignored } if (is != null) { @@ -215,7 +215,7 @@ public class ClassPath { * @since 6.0 */ public InputStream getResourceAsStream(final String name) { - for (PathEntry path : paths) { + for (final PathEntry path : paths) { InputStream is; if ((is = path.getResourceAsStream(name)) != null) { return is; @@ -230,7 +230,7 @@ public class ClassPath { * @since 6.0 */ public URL getResource(final String name) { - for (PathEntry path : paths) { + for (final PathEntry path : paths) { URL url; if ((url = path.getResource(name)) != null) { return url; @@ -246,8 +246,8 @@ public class ClassPath { * @since 6.0 */ public Enumeration<URL> getResources(final String name) { - Vector<URL> results = new Vector<>(); - for (PathEntry path : paths) { + final Vector<URL> results = new Vector<>(); + for (final PathEntry path : paths) { URL url; if ((url = path.getResource(name)) != null) { results.add(url); @@ -281,8 +281,8 @@ public class ClassPath { private ClassFile getClassFileInternal(final String name, final String suffix) throws IOException { - for (PathEntry path : paths) { - ClassFile cf = path.getClassFile(name, suffix); + for (final PathEntry path : paths) { + final ClassFile cf = path.getClassFile(name, suffix); if(cf != null) { return cf; @@ -314,7 +314,7 @@ public class ClassPath { throw new IOException("Couldn't find: " + name + suffix); } dis = new DataInputStream(is); - byte[] bytes = new byte[is.available()]; + final byte[] bytes = new byte[is.available()]; dis.readFully(bytes); return bytes; } finally { @@ -338,7 +338,7 @@ public class ClassPath { * @return full (canonical) path for file */ public String getPath( String name ) throws IOException { - int index = name.lastIndexOf('.'); + final int index = name.lastIndexOf('.'); String suffix = ""; if (index > 0) { suffix = name.substring(index); @@ -409,7 +409,7 @@ public class ClassPath { final File file = new File(dir + File.separatorChar + name.replace('/', File.separatorChar)); try { return file.exists() ? file.toURI().toURL() : null; - } catch (MalformedURLException e) { + } catch (final MalformedURLException e) { return null; } } @@ -420,7 +420,7 @@ public class ClassPath { final File file = new File(dir + File.separatorChar + name.replace('/', File.separatorChar)); try { return file.exists() ? new FileInputStream(file) : null; - } catch (IOException e) { + } catch (final IOException e) { return null; } } @@ -441,7 +441,7 @@ public class ClassPath { public String getPath() { try { return file.getCanonicalPath(); - } catch (IOException e) { + } catch (final IOException e) { return null; } } @@ -487,7 +487,7 @@ public class ClassPath { final ZipEntry entry = zip.getEntry(name); try { return (entry != null) ? new URL("jar:file:" + zip.getName() + "!/" + name) : null; - } catch (MalformedURLException e) { + } catch (final MalformedURLException e) { return null; } } @@ -497,7 +497,7 @@ public class ClassPath { final ZipEntry entry = zip.getEntry(name); try { return (entry != null) ? zip.getInputStream(entry) : null; - } catch (IOException e) { + } catch (final IOException e) { return null; } }
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPathRepository.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPathRepository.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPathRepository.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPathRepository.java Tue Jun 21 20:50:19 2016 @@ -81,13 +81,13 @@ public class ClassPathRepository impleme throw new IllegalArgumentException("Invalid class name " + className); } className = className.replace('/', '.'); // Just in case, canonical form - JavaClass clazz = findClass(className); + final JavaClass clazz = findClass(className); if (clazz != null) { return clazz; } try { return loadClass(_path.getInputStream(className), className); - } catch (IOException e) { + } catch (final IOException e) { throw new ClassNotFoundException("Exception while looking for class " + className + ": " + e, e); } } @@ -106,20 +106,20 @@ public class ClassPathRepository impleme */ @Override public JavaClass loadClass(final Class<?> clazz) throws ClassNotFoundException { - String className = clazz.getName(); - JavaClass repositoryClass = findClass(className); + final String className = clazz.getName(); + final JavaClass repositoryClass = findClass(className); if (repositoryClass != null) { return repositoryClass; } String name = className; - int i = name.lastIndexOf('.'); + final int i = name.lastIndexOf('.'); if (i > 0) { name = name.substring(i + 1); } JavaClass cls = null; try (InputStream clsStream = clazz.getResourceAsStream(name + ".class")) { return cls = loadClass(clsStream, className); - } catch (IOException e) { + } catch (final IOException e) { return cls; } } @@ -127,18 +127,18 @@ public class ClassPathRepository impleme private JavaClass loadClass(final InputStream is, final String className) throws ClassNotFoundException { try { if (is != null) { - ClassParser parser = new ClassParser(is, className); - JavaClass clazz = parser.parse(); + final ClassParser parser = new ClassParser(is, className); + final JavaClass clazz = parser.parse(); storeClass(clazz); return clazz; } - } catch (IOException e) { + } catch (final IOException e) { throw new ClassNotFoundException("Exception while looking for class " + className + ": " + e, e); } finally { if (is != null) { try { is.close(); - } catch (IOException e) { + } catch (final IOException e) { // ignored } } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java Tue Jun 21 20:50:19 2016 @@ -57,8 +57,8 @@ public class ClassSet { public JavaClass[] toArray() { - Collection<JavaClass> values = map.values(); - JavaClass[] classes = new JavaClass[values.size()]; + final Collection<JavaClass> values = map.values(); + final JavaClass[] classes = new JavaClass[values.size()]; values.toArray(classes); return classes; } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java Tue Jun 21 20:50:19 2016 @@ -54,7 +54,7 @@ public class ClassVector implements java public JavaClass[] toArray() { - JavaClass[] classes = new JavaClass[vec.size()]; + final JavaClass[] classes = new JavaClass[vec.size()]; vec.toArray(classes); return classes; } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/CodeHTML.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/CodeHTML.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/CodeHTML.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/CodeHTML.java Tue Jun 21 20:50:19 2016 @@ -78,7 +78,7 @@ final class CodeHTML { * @return String representation of byte code */ private String codeToHTML( final ByteSequence bytes, final int method_number ) throws IOException { - short opcode = (short) bytes.readUnsignedByte(); + final short opcode = (short) bytes.readUnsignedByte(); String name; String signature; int default_offset = 0; @@ -91,13 +91,13 @@ final class CodeHTML { int[] jump_table; int no_pad_bytes = 0; int offset; - StringBuilder buf = new StringBuilder(256); // CHECKSTYLE IGNORE MagicNumber + final StringBuilder buf = new StringBuilder(256); // CHECKSTYLE IGNORE MagicNumber buf.append("<TT>").append(Const.getOpcodeName(opcode)).append("</TT></TD><TD>"); /* Special case: Skip (0-3) padding bytes, i.e., the * following bytes are 4-byte-aligned */ if ((opcode == Const.TABLESWITCH) || (opcode == Const.LOOKUPSWITCH)) { - int remainder = bytes.getIndex() % 4; + final int remainder = bytes.getIndex() % 4; no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder; for (int i = 0; i < no_pad_bytes; i++) { bytes.readByte(); @@ -120,7 +120,7 @@ final class CodeHTML { } buf.append("<TH>default</TH></TR>\n<TR>"); // Print target and default indices in second row - for (int element : jump_table) { + for (final int element : jump_table) { buf.append("<TD><A HREF=\"#code").append(method_number).append("@").append( element).append("\">").append(element).append("</A></TD>"); } @@ -131,14 +131,14 @@ final class CodeHTML { /* Lookup switch has variable length arguments. */ case Const.LOOKUPSWITCH: - int npairs = bytes.readInt(); + final int npairs = bytes.readInt(); offset = bytes.getIndex() - 8 - no_pad_bytes - 1; jump_table = new int[npairs]; default_offset += offset; buf.append("<TABLE BORDER=1><TR>"); // Print switch indices in first row (and default) for (int i = 0; i < npairs; i++) { - int match = bytes.readInt(); + final int match = bytes.readInt(); jump_table[i] = offset + bytes.readInt(); buf.append("<TH>").append(match).append("</TH>"); } @@ -181,7 +181,7 @@ final class CodeHTML { */ case Const.GOTO_W: case Const.JSR_W: - int windex = bytes.getIndex() + bytes.readInt() - 1; + final int windex = bytes.getIndex() + bytes.readInt() - 1; buf.append("<A HREF=\"#code").append(method_number).append("@").append(windex) .append("\">").append(windex).append("</A>"); break; @@ -228,13 +228,13 @@ final class CodeHTML { case Const.PUTFIELD: case Const.PUTSTATIC: index = bytes.readShort(); - ConstantFieldref c1 = (ConstantFieldref) constant_pool.getConstant(index, + final ConstantFieldref c1 = (ConstantFieldref) constant_pool.getConstant(index, Const.CONSTANT_Fieldref); class_index = c1.getClassIndex(); name = constant_pool.getConstantString(class_index, Const.CONSTANT_Class); name = Utility.compactClassName(name, false); index = c1.getNameAndTypeIndex(); - String field_name = constant_pool.constantToString(index, Const.CONSTANT_NameAndType); + final String field_name = constant_pool.constantToString(index, Const.CONSTANT_NameAndType); if (name.equals(class_name)) { // Local field buf.append("<A HREF=\"").append(class_name).append("_methods.html#field") .append(field_name).append("\" TARGET=Methods>").append(field_name) @@ -259,14 +259,14 @@ final class CodeHTML { case Const.INVOKEVIRTUAL: case Const.INVOKEINTERFACE: case Const.INVOKEDYNAMIC: - int m_index = bytes.readShort(); + final int m_index = bytes.readShort(); String str; if (opcode == Const.INVOKEINTERFACE) { // Special treatment needed bytes.readUnsignedByte(); // Redundant bytes.readUnsignedByte(); // Reserved // int nargs = bytes.readUnsignedByte(); // Redundant // int reserved = bytes.readUnsignedByte(); // Reserved - ConstantInterfaceMethodref c = (ConstantInterfaceMethodref) constant_pool + final ConstantInterfaceMethodref c = (ConstantInterfaceMethodref) constant_pool .getConstant(m_index, Const.CONSTANT_InterfaceMethodref); class_index = c.getClassIndex(); index = c.getNameAndTypeIndex(); @@ -274,7 +274,7 @@ final class CodeHTML { } else if (opcode == Const.INVOKEDYNAMIC) { // Special treatment needed bytes.readUnsignedByte(); // Reserved bytes.readUnsignedByte(); // Reserved - ConstantInvokeDynamic c = (ConstantInvokeDynamic) constant_pool + final ConstantInvokeDynamic c = (ConstantInvokeDynamic) constant_pool .getConstant(m_index, Const.CONSTANT_InvokeDynamic); index = c.getNameAndTypeIndex(); name = "#" + c.getBootstrapMethodAttrIndex(); @@ -282,7 +282,7 @@ final class CodeHTML { // UNDONE: Java8 now allows INVOKESPECIAL and INVOKESTATIC to // reference EITHER a Methodref OR an InterfaceMethodref. // Not sure if that affects this code or not. (markro) - ConstantMethodref c = (ConstantMethodref) constant_pool.getConstant(m_index, + final ConstantMethodref c = (ConstantMethodref) constant_pool.getConstant(m_index, Const.CONSTANT_Methodref); class_index = c.getClassIndex(); index = c.getNameAndTypeIndex(); @@ -291,11 +291,11 @@ final class CodeHTML { str = Class2HTML.toHTML(constant_pool.constantToString(constant_pool.getConstant( index, Const.CONSTANT_NameAndType))); // Get signature, i.e., types - ConstantNameAndType c2 = (ConstantNameAndType) constant_pool.getConstant(index, + final ConstantNameAndType c2 = (ConstantNameAndType) constant_pool.getConstant(index, Const.CONSTANT_NameAndType); signature = constant_pool.constantToString(c2.getSignatureIndex(), Const.CONSTANT_Utf8); - String[] args = Utility.methodSignatureArgumentTypes(signature, false); - String type = Utility.methodSignatureReturnType(signature, false); + final String[] args = Utility.methodSignatureArgumentTypes(signature, false); + final String type = Utility.methodSignatureReturnType(signature, false); buf.append(name).append(".<A HREF=\"").append(class_name).append("_cp.html#cp") .append(m_index).append("\" TARGET=ConstantPool>").append(str).append( "</A>").append("("); @@ -336,7 +336,7 @@ final class CodeHTML { */ case Const.MULTIANEWARRAY: index = bytes.readShort(); - int dimensions = bytes.readByte(); + final int dimensions = bytes.readByte(); buf.append(constant_html.referenceConstant(index)).append(":").append(dimensions) .append("-dimensional"); break; @@ -390,21 +390,21 @@ final class CodeHTML { * (try .. catch) in this method. We only need the line number here. */ if (code != null) { - CodeException[] ce = code.getExceptionTable(); - for (CodeException cex : ce) { + final CodeException[] ce = code.getExceptionTable(); + for (final CodeException cex : ce) { goto_set.set(cex.getStartPC()); goto_set.set(cex.getEndPC()); goto_set.set(cex.getHandlerPC()); } // Look for local variables and their range - Attribute[] attributes = code.getAttributes(); - for (Attribute attribute : attributes) { + final Attribute[] attributes = code.getAttributes(); + for (final Attribute attribute : attributes) { if (attribute.getTag() == Const.ATTR_LOCAL_VARIABLE_TABLE) { - LocalVariable[] vars = ((LocalVariableTable) attribute) + final LocalVariable[] vars = ((LocalVariableTable) attribute) .getLocalVariableTable(); - for (LocalVariable var : vars) { - int start = var.getStartPC(); - int end = start + var.getLength(); + for (final LocalVariable var : vars) { + final int start = var.getStartPC(); + final int end = start + var.getLength(); goto_set.set(start); goto_set.set(end); } @@ -420,8 +420,8 @@ final class CodeHTML { case Const.TABLESWITCH: case Const.LOOKUPSWITCH: //bytes.readByte(); // Skip already read byte - int remainder = bytes.getIndex() % 4; - int no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder; + final int remainder = bytes.getIndex() % 4; + final int no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder; int default_offset; int offset; for (int j = 0; j < no_pad_bytes; j++) { @@ -430,8 +430,8 @@ final class CodeHTML { // Both cases have a field default_offset in common default_offset = bytes.readInt(); if (opcode == Const.TABLESWITCH) { - int low = bytes.readInt(); - int high = bytes.readInt(); + final int low = bytes.readInt(); + final int high = bytes.readInt(); offset = bytes.getIndex() - 12 - no_pad_bytes - 1; default_offset += offset; goto_set.set(default_offset); @@ -440,7 +440,7 @@ final class CodeHTML { goto_set.set(index); } } else { // LOOKUPSWITCH - int npairs = bytes.readInt(); + final int npairs = bytes.readInt(); offset = bytes.getIndex() - 8 - no_pad_bytes - 1; default_offset += offset; goto_set.set(default_offset); @@ -493,19 +493,19 @@ final class CodeHTML { */ private void writeMethod( final Method method, final int method_number ) throws IOException { // Get raw signature - String signature = method.getSignature(); + final String signature = method.getSignature(); // Get array of strings containing the argument types - String[] args = Utility.methodSignatureArgumentTypes(signature, false); + final String[] args = Utility.methodSignatureArgumentTypes(signature, false); // Get return type string - String type = Utility.methodSignatureReturnType(signature, false); + final String type = Utility.methodSignatureReturnType(signature, false); // Get method name - String name = method.getName(); - String html_name = Class2HTML.toHTML(name); + final String name = method.getName(); + final String html_name = Class2HTML.toHTML(name); // Get method's access flags String access = Utility.accessToString(method.getAccessFlags()); access = Utility.replace(access, " ", " "); // Get the method's attributes, the Code Attribute in particular - Attribute[] attributes = method.getAttributes(); + final Attribute[] attributes = method.getAttributes(); file.print("<P><B><FONT COLOR=\"#FF0000\">" + access + "</FONT> " + "<A NAME=method" + method_number + ">" + Class2HTML.referenceType(type) + "</A> <A HREF=\"" + class_name + "_methods.html#method" + method_number + "\" TARGET=Methods>" @@ -532,7 +532,7 @@ final class CodeHTML { } if (tag == Const.ATTR_CODE) { c = (Code) attributes[i]; - Attribute[] attributes2 = c.getAttributes(); + final Attribute[] attributes2 = c.getAttributes(); code = c.getCode(); file.print("<UL>"); for (int j = 0; j < attributes2.length; j++) { @@ -556,8 +556,8 @@ final class CodeHTML { file.println("<TABLE BORDER=0><TR><TH ALIGN=LEFT>Byte<BR>offset</TH>" + "<TH ALIGN=LEFT>Instruction</TH><TH ALIGN=LEFT>Argument</TH>"); for (; stream.available() > 0;) { - int offset = stream.getIndex(); - String str = codeToHTML(stream, method_number); + final int offset = stream.getIndex(); + final String str = codeToHTML(stream, method_number); String anchor = ""; /* * Set an anchor mark if this line is targetted by a goto, jsr, etc. Defining an anchor for every Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ConstantHTML.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ConstantHTML.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ConstantHTML.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/ConstantHTML.java Tue Jun 21 20:50:19 2016 @@ -84,7 +84,7 @@ final class ConstantHTML { private void writeConstant( final int index ) { - byte tag = constants[index].getTag(); + final byte tag = constants[index].getTag(); int class_index; int name_index; String ref; @@ -98,36 +98,36 @@ final class ConstantHTML { case Const.CONSTANT_Methodref: // Get class_index and name_and_type_index, depending on type if (tag == Const.CONSTANT_Methodref) { - ConstantMethodref c = (ConstantMethodref) constant_pool.getConstant(index, + final ConstantMethodref c = (ConstantMethodref) constant_pool.getConstant(index, Const.CONSTANT_Methodref); class_index = c.getClassIndex(); name_index = c.getNameAndTypeIndex(); } else { - ConstantInterfaceMethodref c1 = (ConstantInterfaceMethodref) constant_pool + final ConstantInterfaceMethodref c1 = (ConstantInterfaceMethodref) constant_pool .getConstant(index, Const.CONSTANT_InterfaceMethodref); class_index = c1.getClassIndex(); name_index = c1.getNameAndTypeIndex(); } // Get method name and its class - String method_name = constant_pool.constantToString(name_index, + final String method_name = constant_pool.constantToString(name_index, Const.CONSTANT_NameAndType); - String html_method_name = Class2HTML.toHTML(method_name); + final String html_method_name = Class2HTML.toHTML(method_name); // Partially compacted class name, i.e., / -> . - String method_class = constant_pool.constantToString(class_index, Const.CONSTANT_Class); + final String method_class = constant_pool.constantToString(class_index, Const.CONSTANT_Class); String short_method_class = Utility.compactClassName(method_class); // I.e., remove java.lang. short_method_class = Utility.compactClassName(short_method_class, class_package + ".", true); // Remove class package prefix // Get method signature - ConstantNameAndType c2 = (ConstantNameAndType) constant_pool.getConstant( + final ConstantNameAndType c2 = (ConstantNameAndType) constant_pool.getConstant( name_index, Const.CONSTANT_NameAndType); - String signature = constant_pool.constantToString(c2.getSignatureIndex(), + final String signature = constant_pool.constantToString(c2.getSignatureIndex(), Const.CONSTANT_Utf8); // Get array of strings containing the argument types - String[] args = Utility.methodSignatureArgumentTypes(signature, false); + final String[] args = Utility.methodSignatureArgumentTypes(signature, false); // Get return type string - String type = Utility.methodSignatureReturnType(signature, false); - String ret_type = Class2HTML.referenceType(type); - StringBuilder buf = new StringBuilder("("); + final String type = Utility.methodSignatureReturnType(signature, false); + final String ret_type = Class2HTML.referenceType(type); + final StringBuilder buf = new StringBuilder("("); for (int i = 0; i < args.length; i++) { buf.append(Class2HTML.referenceType(args[i])); if (i < args.length - 1) { @@ -135,7 +135,7 @@ final class ConstantHTML { } } buf.append(")"); - String arg_types = buf.toString(); + final String arg_types = buf.toString(); if (method_class.equals(class_name)) { ref = "<A HREF=\"" + class_name + "_code.html#method" + getMethodNumber(method_name + signature) + "\" TARGET=Code>" @@ -155,16 +155,16 @@ final class ConstantHTML { break; case Const.CONSTANT_Fieldref: // Get class_index and name_and_type_index - ConstantFieldref c3 = (ConstantFieldref) constant_pool.getConstant(index, + final ConstantFieldref c3 = (ConstantFieldref) constant_pool.getConstant(index, Const.CONSTANT_Fieldref); class_index = c3.getClassIndex(); name_index = c3.getNameAndTypeIndex(); // Get method name and its class (compacted) - String field_class = constant_pool.constantToString(class_index, Const.CONSTANT_Class); + final String field_class = constant_pool.constantToString(class_index, Const.CONSTANT_Class); String short_field_class = Utility.compactClassName(field_class); // I.e., remove java.lang. short_field_class = Utility.compactClassName(short_field_class, class_package + ".", true); // Remove class package prefix - String field_name = constant_pool + final String field_name = constant_pool .constantToString(name_index, Const.CONSTANT_NameAndType); if (field_class.equals(class_name)) { ref = "<A HREF=\"" + field_class + "_methods.html#field" + field_name @@ -183,9 +183,9 @@ final class ConstantHTML { + ")</A></UL>"); break; case Const.CONSTANT_Class: - ConstantClass c4 = (ConstantClass) constant_pool.getConstant(index, Const.CONSTANT_Class); + final ConstantClass c4 = (ConstantClass) constant_pool.getConstant(index, Const.CONSTANT_Class); name_index = c4.getNameIndex(); - String class_name2 = constant_pool.constantToString(index, tag); // / -> . + final String class_name2 = constant_pool.constantToString(index, tag); // / -> . String short_class_name = Utility.compactClassName(class_name2); // I.e., remove java.lang. short_class_name = Utility.compactClassName(short_class_name, class_package + ".", true); // Remove class package prefix @@ -197,18 +197,18 @@ final class ConstantHTML { + "\">Name index(" + name_index + ")</A></UL>\n"); break; case Const.CONSTANT_String: - ConstantString c5 = (ConstantString) constant_pool.getConstant(index, + final ConstantString c5 = (ConstantString) constant_pool.getConstant(index, Const.CONSTANT_String); name_index = c5.getStringIndex(); - String str = Class2HTML.toHTML(constant_pool.constantToString(index, tag)); + final String str = Class2HTML.toHTML(constant_pool.constantToString(index, tag)); file.println("<P><TT>" + str + "</TT><UL>" + "<LI><A HREF=\"#cp" + name_index + "\">Name index(" + name_index + ")</A></UL>\n"); break; case Const.CONSTANT_NameAndType: - ConstantNameAndType c6 = (ConstantNameAndType) constant_pool.getConstant(index, + final ConstantNameAndType c6 = (ConstantNameAndType) constant_pool.getConstant(index, Const.CONSTANT_NameAndType); name_index = c6.getNameIndex(); - int signature_index = c6.getSignatureIndex(); + final int signature_index = c6.getSignatureIndex(); file.println("<P><TT>" + Class2HTML.toHTML(constant_pool.constantToString(index, tag)) + "</TT><UL>" + "<LI><A HREF=\"#cp" + name_index + "\">Name index(" @@ -223,7 +223,7 @@ final class ConstantHTML { private int getMethodNumber( final String str ) { for (int i = 0; i < methods.length; i++) { - String cmp = methods[i].getName() + methods[i].getSignature(); + final String cmp = methods[i].getName() + methods[i].getSignature(); if (cmp.equals(str)) { return i; } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java Tue Jun 21 20:50:19 2016 @@ -90,8 +90,8 @@ public class InstructionFinder { * match. */ public final void reread() { - int size = il.getLength(); - char[] buf = new char[size]; // Create a string with length equal to il length + final int size = il.getLength(); + final char[] buf = new char[size]; // Create a string with length equal to il length handles = il.getInstructionHandles(); // Map opcodes to characters for (int i = 0; i < size; i++) { @@ -109,7 +109,7 @@ public class InstructionFinder { * @return encoded string for a pattern such as "BranchInstruction". */ private static String mapName( final String pattern ) { - String result = map.get(pattern); + final String result = map.get(pattern); if (result != null) { return result; } @@ -133,13 +133,13 @@ public class InstructionFinder { */ private static String compilePattern( final String pattern ) { //Bug: BCEL-77 - Instructions are assumed to be english, to avoid odd Locale issues - String lower = pattern.toLowerCase(Locale.ENGLISH); - StringBuilder buf = new StringBuilder(); - int size = pattern.length(); + final String lower = pattern.toLowerCase(Locale.ENGLISH); + final StringBuilder buf = new StringBuilder(); + final int size = pattern.length(); for (int i = 0; i < size; i++) { char ch = lower.charAt(i); if (Character.isLetterOrDigit(ch)) { - StringBuilder name = new StringBuilder(); + final StringBuilder name = new StringBuilder(); while ((Character.isLetterOrDigit(ch) || ch == '_') && i < size) { name.append(ch); if (++i < size) { @@ -162,7 +162,7 @@ public class InstructionFinder { * @return the matched piece of code as an array of instruction (handles) */ private InstructionHandle[] getMatch( final int matched_from, final int match_length ) { - InstructionHandle[] match = new InstructionHandle[match_length]; + final InstructionHandle[] match = new InstructionHandle[match_length]; System.arraycopy(handles, matched_from, match, 0, match_length); return match; } @@ -204,7 +204,7 @@ public class InstructionFinder { * instruction handles describing the matched area */ public final Iterator<InstructionHandle[]> search( final String pattern, final InstructionHandle from, final CodeConstraint constraint ) { - String search = compilePattern(pattern); + final String search = compilePattern(pattern); int start = -1; for (int i = 0; i < handles.length; i++) { if (handles[i] == from) { @@ -216,14 +216,14 @@ public class InstructionFinder { throw new ClassGenException("Instruction handle " + from + " not found in instruction list."); } - Pattern regex = Pattern.compile(search); - List<InstructionHandle[]> matches = new ArrayList<>(); - Matcher matcher = regex.matcher(il_string); + final Pattern regex = Pattern.compile(search); + final List<InstructionHandle[]> matches = new ArrayList<>(); + final Matcher matcher = regex.matcher(il_string); while (start < il_string.length() && matcher.find(start)) { - int startExpr = matcher.start(); - int endExpr = matcher.end(); - int lenExpr = endExpr - startExpr; - InstructionHandle[] match = getMatch(startExpr, lenExpr); + final int startExpr = matcher.start(); + final int endExpr = matcher.end(); + final int lenExpr = endExpr - startExpr; + final InstructionHandle[] match = getMatch(startExpr, lenExpr); if ((constraint == null) || constraint.checkCode(match)) { matches.add(match); } @@ -358,16 +358,16 @@ public class InstructionFinder { map.put("fstore", precompile(Const.FSTORE_0, Const.FSTORE_3, Const.FSTORE)); map.put("astore", precompile(Const.ASTORE_0, Const.ASTORE_3, Const.ASTORE)); // Compile strings - for (Map.Entry<String, String> entry : map.entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - char ch = value.charAt(1); // Omit already precompiled patterns + for (final Map.Entry<String, String> entry : map.entrySet()) { + final String key = entry.getKey(); + final String value = entry.getValue(); + final char ch = value.charAt(1); // Omit already precompiled patterns if (ch < OFFSET) { map.put(key, compilePattern(value)); // precompile all patterns } } // Add instruction alias to match anything - StringBuilder buf = new StringBuilder("("); + final StringBuilder buf = new StringBuilder("("); for (short i = 0; i < NO_OPCODES; i++) { if (Const.getNoOfOperands(i) != Const.UNDEFINED) { // Not an invalid opcode buf.append(makeChar(i)); @@ -382,7 +382,7 @@ public class InstructionFinder { private static String precompile( final short from, final short to, final short extra ) { - StringBuilder buf = new StringBuilder("("); + final StringBuilder buf = new StringBuilder("("); for (short i = from; i <= to; i++) { buf.append(makeChar(i)); buf.append('|'); Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java Tue Jun 21 20:50:19 2016 @@ -40,13 +40,13 @@ public class JavaWrapper { private static java.lang.ClassLoader getClassLoader() { - String s = System.getProperty("bcel.classloader"); + final String s = System.getProperty("bcel.classloader"); if ((s == null) || "".equals(s)) { throw new IllegalArgumentException("The property 'bcel.classloader' must be defined"); } try { return (java.lang.ClassLoader) Class.forName(s).newInstance(); - } catch (Exception e) { + } catch (final Exception e) { throw new RuntimeException(e.toString(), e); } } @@ -68,7 +68,7 @@ public class JavaWrapper { * @param argv the arguments just as you would pass them directly */ public void runMain( final String class_name, final String[] argv ) throws ClassNotFoundException { - Class<?> cl = loader.loadClass(class_name); + final Class<?> cl = loader.loadClass(class_name); Method method = null; try { method = cl.getMethod("main", new Class[] { @@ -76,13 +76,13 @@ public class JavaWrapper { }); /* Method main is sane ? */ - int m = method.getModifiers(); - Class<?> r = method.getReturnType(); + final int m = method.getModifiers(); + final Class<?> r = method.getReturnType(); if (!(Modifier.isPublic(m) && Modifier.isStatic(m)) || Modifier.isAbstract(m) || (r != Void.TYPE)) { throw new NoSuchMethodException(); } - } catch (NoSuchMethodException no) { + } catch (final NoSuchMethodException no) { System.out.println("In class " + class_name + ": public static void main(String[] argv) is not defined"); return; @@ -91,7 +91,7 @@ public class JavaWrapper { method.invoke(null, new Object[] { argv }); - } catch (Exception ex) { + } catch (final Exception ex) { ex.printStackTrace(); } } @@ -107,10 +107,10 @@ public class JavaWrapper { System.out.println("Missing class name."); return; } - String class_name = argv[0]; - String[] new_argv = new String[argv.length - 1]; + final String class_name = argv[0]; + final String[] new_argv = new String[argv.length - 1]; System.arraycopy(argv, 1, new_argv, 0, new_argv.length); - JavaWrapper wrapper = new JavaWrapper(); + final JavaWrapper wrapper = new JavaWrapper(); wrapper.runMain(class_name, new_argv); } } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MemorySensitiveClassPathRepository.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MemorySensitiveClassPathRepository.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MemorySensitiveClassPathRepository.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MemorySensitiveClassPathRepository.java Tue Jun 21 20:50:19 2016 @@ -64,7 +64,7 @@ public class MemorySensitiveClassPathRep */ @Override public JavaClass findClass(final String className) { - SoftReference<JavaClass> ref = loadedClasses.get(className); + final SoftReference<JavaClass> ref = loadedClasses.get(className); if (ref == null) { return null; } @@ -87,13 +87,13 @@ public class MemorySensitiveClassPathRep throw new IllegalArgumentException("Invalid class name " + className); } className = className.replace('/', '.'); // Just in case, canonical form - JavaClass clazz = findClass(className); + final JavaClass clazz = findClass(className); if (clazz != null) { return clazz; } try { return loadClass(path.getInputStream(className), className); - } catch (IOException e) { + } catch (final IOException e) { throw new ClassNotFoundException("Exception while looking for class " + className + ": " + e, e); } } @@ -112,20 +112,20 @@ public class MemorySensitiveClassPathRep */ @Override public JavaClass loadClass(final Class<?> clazz) throws ClassNotFoundException { - String className = clazz.getName(); - JavaClass repositoryClass = findClass(className); + final String className = clazz.getName(); + final JavaClass repositoryClass = findClass(className); if (repositoryClass != null) { return repositoryClass; } String name = className; - int i = name.lastIndexOf('.'); + final int i = name.lastIndexOf('.'); if (i > 0) { name = name.substring(i + 1); } JavaClass cls = null; try (InputStream clsStream = clazz.getResourceAsStream(name + ".class")) { return cls = loadClass(clsStream, className); - } catch (IOException e) { + } catch (final IOException e) { return cls; } @@ -134,18 +134,18 @@ public class MemorySensitiveClassPathRep private JavaClass loadClass(final InputStream is, final String className) throws ClassNotFoundException { try { if (is != null) { - ClassParser parser = new ClassParser(is, className); - JavaClass clazz = parser.parse(); + final ClassParser parser = new ClassParser(is, className); + final JavaClass clazz = parser.parse(); storeClass(clazz); return clazz; } - } catch (IOException e) { + } catch (final IOException e) { throw new ClassNotFoundException("Exception while looking for class " + className + ": " + e, e); } finally { if (is != null) { try { is.close(); - } catch (IOException e) { + } catch (final IOException e) { // ignored } } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MethodHTML.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MethodHTML.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MethodHTML.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/util/MethodHTML.java Tue Jun 21 20:50:19 2016 @@ -53,7 +53,7 @@ final class MethodHTML { file.println("<HTML><BODY BGCOLOR=\"#C0C0C0\"><TABLE BORDER=0>"); file.println("<TR><TH ALIGN=LEFT>Access flags</TH><TH ALIGN=LEFT>Type</TH>" + "<TH ALIGN=LEFT>Field name</TH></TR>"); - for (Field field : fields) { + for (final Field field : fields) { writeField(field); } file.println("</TABLE>"); @@ -75,8 +75,8 @@ final class MethodHTML { * @throws java.io.IOException */ private void writeField( final Field field ) throws IOException { - String type = Utility.signatureToString(field.getSignature()); - String name = field.getName(); + final String type = Utility.signatureToString(field.getSignature()); + final String name = field.getName(); String access = Utility.accessToString(field.getAccessFlags()); Attribute[] attributes; access = Utility.replace(access, " ", " "); @@ -90,7 +90,7 @@ final class MethodHTML { } for (int i = 0; i < attributes.length; i++) { if (attributes[i].getTag() == Const.ATTR_CONSTANT_VALUE) { // Default value - String str = ((ConstantValue) attributes[i]).toString(); + final String str = ((ConstantValue) attributes[i]).toString(); // Reference attribute in _attributes.html file.print("<TD>= <A HREF=\"" + class_name + "_attributes.html#" + name + "@" + i + "\" TARGET=\"Attributes\">" + str + "</TD>\n"); @@ -103,18 +103,18 @@ final class MethodHTML { private void writeMethod( final Method method, final int method_number ) { // Get raw signature - String signature = method.getSignature(); + final String signature = method.getSignature(); // Get array of strings containing the argument types - String[] args = Utility.methodSignatureArgumentTypes(signature, false); + final String[] args = Utility.methodSignatureArgumentTypes(signature, false); // Get return type string - String type = Utility.methodSignatureReturnType(signature, false); + final String type = Utility.methodSignatureReturnType(signature, false); // Get method name - String name = method.getName(); + final String name = method.getName(); String html_name; // Get method's access flags String access = Utility.accessToString(method.getAccessFlags()); // Get the method's attributes, the Code Attribute in particular - Attribute[] attributes = method.getAttributes(); + final Attribute[] attributes = method.getAttributes(); /* HTML doesn't like names like <clinit> and spaces are places to break * lines. Both we don't want... */ @@ -136,10 +136,10 @@ final class MethodHTML { for (int i = 0; i < attributes.length; i++) { attribute_html.writeAttribute(attributes[i], "method" + method_number + "@" + i, method_number); - byte tag = attributes[i].getTag(); + final byte tag = attributes[i].getTag(); if (tag == Const.ATTR_EXCEPTIONS) { file.print("<TR VALIGN=TOP><TD COLSPAN=2></TD><TH ALIGN=LEFT>throws</TH><TD>"); - int[] exceptions = ((ExceptionTable) attributes[i]).getExceptionIndexTable(); + final int[] exceptions = ((ExceptionTable) attributes[i]).getExceptionIndexTable(); for (int j = 0; j < exceptions.length; j++) { file.print(constant_html.referenceConstant(exceptions[j])); if (j < exceptions.length - 1) { @@ -148,7 +148,7 @@ final class MethodHTML { } file.println("</TD></TR>"); } else if (tag == Const.ATTR_CODE) { - Attribute[] c_a = ((Code) attributes[i]).getAttributes(); + final Attribute[] c_a = ((Code) attributes[i]).getAttributes(); for (int j = 0; j < c_a.length; j++) { attribute_html.writeAttribute(c_a[j], "method" + method_number + "@" + i + "@" + j, method_number); Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/GraphicalVerifier.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/GraphicalVerifier.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/GraphicalVerifier.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/GraphicalVerifier.java Tue Jun 21 20:50:19 2016 @@ -35,7 +35,7 @@ public class GraphicalVerifier { /** Constructor. */ public GraphicalVerifier() { - VerifierAppFrame frame = new VerifierAppFrame(); + final VerifierAppFrame frame = new VerifierAppFrame(); //Frames �berpr�fen, die voreingestellte Gr��e haben //Frames packen, die nutzbare bevorzugte Gr��eninformationen enthalten, z.B. aus ihrem Layout if (packFrame) { @@ -44,8 +44,8 @@ public class GraphicalVerifier { frame.validate(); } //Das Fenster zentrieren - Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - Dimension frameSize = frame.getSize(); + final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + final Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } @@ -65,7 +65,7 @@ public class GraphicalVerifier { public static void main( final String[] args ) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e) { + } catch (final Exception e) { e.printStackTrace(); } new GraphicalVerifier(); Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/NativeVerifier.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/NativeVerifier.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/NativeVerifier.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/NativeVerifier.java Tue Jun 21 20:50:19 2016 @@ -43,7 +43,7 @@ public abstract class NativeVerifier { System.out.println("Verifier front-end: need exactly one argument."); System.exit(1); } - int dotclasspos = args[0].lastIndexOf(".class"); + final int dotclasspos = args[0].lastIndexOf(".class"); if (dotclasspos != -1) { args[0] = args[0].substring(0, dotclasspos); } @@ -51,19 +51,19 @@ public abstract class NativeVerifier { //System.out.println(args[0]); try { Class.forName(args[0]); - } catch (ExceptionInInitializerError eiie) { //subclass of LinkageError! + } catch (final ExceptionInInitializerError eiie) { //subclass of LinkageError! System.out.println("NativeVerifier: ExceptionInInitializerError encountered on '" + args[0] + "'."); System.out.println(eiie); System.exit(1); - } catch (LinkageError le) { + } catch (final LinkageError le) { System.out.println("NativeVerifier: LinkageError encountered on '" + args[0] + "'."); System.out.println(le); System.exit(1); - } catch (ClassNotFoundException cnfe) { + } catch (final ClassNotFoundException cnfe) { System.out.println("NativeVerifier: FILE NOT FOUND: '" + args[0] + "'."); System.exit(1); - } catch (Throwable t) { // OK to catch Throwable here as we call exit. + } catch (final Throwable t) { // OK to catch Throwable here as we call exit. System.out.println("NativeVerifier: Unspecified verification error on '" + args[0] + "'."); System.exit(1); } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/TransitiveHull.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/TransitiveHull.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/TransitiveHull.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/TransitiveHull.java Tue Jun 21 20:50:19 2016 @@ -48,7 +48,7 @@ public class TransitiveHull implements V } System.out.println(classname); indent += 1; - Verifier v = VerifierFactory.getVerifier(classname); + final Verifier v = VerifierFactory.getVerifier(classname); VerificationResult vr; vr = v.doPass1(); if (vr != VerificationResult.VR_OK) { @@ -60,7 +60,7 @@ public class TransitiveHull implements V } if (vr == VerificationResult.VR_OK) { try { - JavaClass jc = Repository.lookupClass(v.getClassName()); + final JavaClass jc = Repository.lookupClass(v.getClassName()); for (int i = 0; i < jc.getMethods().length; i++) { vr = v.doPass3a(i); if (vr != VerificationResult.VR_OK) { @@ -73,7 +73,7 @@ public class TransitiveHull implements V + jc.getMethods()[i] + "']:\n" + vr); } } - } catch (ClassNotFoundException e) { + } catch (final ClassNotFoundException e) { System.err.println("Could not find class " + v.getClassName() + " in Repository"); } } @@ -92,12 +92,12 @@ public class TransitiveHull implements V System.out.println("Need exactly one argument: The root class to verify."); System.exit(1); } - int dotclasspos = args[0].lastIndexOf(".class"); + final int dotclasspos = args[0].lastIndexOf(".class"); if (dotclasspos != -1) { args[0] = args[0].substring(0, dotclasspos); } args[0] = args[0].replace('/', '.'); - TransitiveHull th = new TransitiveHull(); + final TransitiveHull th = new TransitiveHull(); VerifierFactory.attach(th); VerifierFactory.getVerifier(args[0]); // the observer is called back and does the actual trick. VerifierFactory.detach(th); Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerificationResult.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerificationResult.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerificationResult.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerificationResult.java Tue Jun 21 20:50:19 2016 @@ -101,7 +101,7 @@ public class VerificationResult { if (!(o instanceof VerificationResult)) { return false; } - VerificationResult other = (VerificationResult) o; + final VerificationResult other = (VerificationResult) o; return (other.numeric == this.numeric) && other.detailMessage.equals(this.detailMessage); } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java Tue Jun 21 20:50:19 2016 @@ -79,7 +79,7 @@ public class Verifier { /** Returns the VerificationResult for the given pass. */ public VerificationResult doPass3a( final int method_no ) { - String key = Integer.toString(method_no); + final String key = Integer.toString(method_no); Pass3aVerifier p3av; p3av = p3avs.get(key); if (p3avs.get(key) == null) { @@ -92,7 +92,7 @@ public class Verifier { /** Returns the VerificationResult for the given pass. */ public VerificationResult doPass3b( final int method_no ) { - String key = Integer.toString(method_no); + final String key = Integer.toString(method_no); Pass3bVerifier p3bv; p3bv = p3bvs.get(key); if (p3bvs.get(key) == null) { @@ -145,32 +145,32 @@ public class Verifier { * A prefix shows from which verifying pass a message originates. */ public String[] getMessages() throws ClassNotFoundException { - List<String> messages = new ArrayList<>(); + final List<String> messages = new ArrayList<>(); if (p1v != null) { - String[] p1m = p1v.getMessages(); - for (String element : p1m) { + final String[] p1m = p1v.getMessages(); + for (final String element : p1m) { messages.add("Pass 1: " + element); } } if (p2v != null) { - String[] p2m = p2v.getMessages(); - for (String element : p2m) { + final String[] p2m = p2v.getMessages(); + for (final String element : p2m) { messages.add("Pass 2: " + element); } } - for (Pass3aVerifier pv : p3avs.values()) { - String[] p3am = pv.getMessages(); - int meth = pv.getMethodNo(); - for (String element : p3am) { + for (final Pass3aVerifier pv : p3avs.values()) { + final String[] p3am = pv.getMessages(); + final int meth = pv.getMethodNo(); + for (final String element : p3am) { messages.add("Pass 3a, method " + meth + " ('" + org.apache.bcel.Repository.lookupClass(classname).getMethods()[meth] + "'): " + element); } } - for (Pass3bVerifier pv : p3bvs.values()) { - String[] p3bm = pv.getMessages(); - int meth = pv.getMethodNo(); - for (String element : p3bm) { + for (final Pass3bVerifier pv : p3bvs.values()) { + final String[] p3bm = pv.getMessages(); + final int meth = pv.getMethodNo(); + for (final String element : p3bm) { messages.add("Pass 3b, method " + meth + " ('" + org.apache.bcel.Repository.lookupClass(classname).getMethods()[meth] + "'): " + element); @@ -197,21 +197,21 @@ public class Verifier { for (int k = 0; k < args.length; k++) { try { if (args[k].endsWith(".class")) { - int dotclasspos = args[k].lastIndexOf(".class"); + final int dotclasspos = args[k].lastIndexOf(".class"); if (dotclasspos != -1) { args[k] = args[k].substring(0, dotclasspos); } } args[k] = args[k].replace('/', '.'); System.out.println("Now verifying: " + args[k] + "\n"); - Verifier v = VerifierFactory.getVerifier(args[k]); + final Verifier v = VerifierFactory.getVerifier(args[k]); VerificationResult vr; vr = v.doPass1(); System.out.println("Pass 1:\n" + vr); vr = v.doPass2(); System.out.println("Pass 2:\n" + vr); if (vr == VerificationResult.VR_OK) { - JavaClass jc = org.apache.bcel.Repository.lookupClass(args[k]); + final JavaClass jc = org.apache.bcel.Repository.lookupClass(args[k]); for (int i = 0; i < jc.getMethods().length; i++) { vr = v.doPass3a(i); System.out.println("Pass 3a, method number " + i + " ['" @@ -222,11 +222,11 @@ public class Verifier { } } System.out.println("Warnings:"); - String[] warnings = v.getMessages(); + final String[] warnings = v.getMessages(); if (warnings.length == 0) { System.out.println("<none>"); } - for (String warning : warnings) { + for (final String warning : warnings) { System.out.println(warning); } System.out.println("\n"); @@ -234,7 +234,7 @@ public class Verifier { v.flush(); org.apache.bcel.Repository.clearCache(); System.gc(); - } catch (ClassNotFoundException e) { + } catch (final ClassNotFoundException e) { e.printStackTrace(); } } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java Tue Jun 21 20:50:19 2016 @@ -98,7 +98,7 @@ public class VerifierAppFrame extends JF enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); - } catch (Exception e) { + } catch (final Exception e) { e.printStackTrace(); } } @@ -244,7 +244,7 @@ public class VerifierAppFrame extends JF current_class = classNamesJList.getSelectedValue(); try { verify(); - } catch (ClassNotFoundException ex) { + } catch (final ClassNotFoundException ex) { // FIXME: report the error using the GUI ex.printStackTrace(); } @@ -254,7 +254,7 @@ public class VerifierAppFrame extends JF private void verify() throws ClassNotFoundException { setTitle("PLEASE WAIT"); - Verifier v = VerifierFactory.getVerifier(current_class); + final Verifier v = VerifierFactory.getVerifier(current_class); v.flush(); // Don't cache the verification result for this class. VerificationResult vr; vr = v.doPass1(); @@ -285,14 +285,14 @@ public class VerifierAppFrame extends JF } else { // must be Verified_OK, because Pass1 was OK (cannot be Verified_NOTYET). pass2TextPane.setText(vr.getMessage()); pass2TextPane.setBackground(Color.green); - JavaClass jc = Repository.lookupClass(current_class); + final JavaClass jc = Repository.lookupClass(current_class); /* boolean all3aok = true; boolean all3bok = true; String all3amsg = ""; String all3bmsg = ""; */ - String[] methodnames = new String[jc.getMethods().length]; + final String[] methodnames = new String[jc.getMethods().length]; for (int i = 0; i < jc.getMethods().length; i++) { methodnames[i] = jc.getMethods()[i].toString().replace('\n', ' ').replace('\t', ' '); @@ -303,9 +303,9 @@ public class VerifierAppFrame extends JF pass3bJList.setSelectionInterval(0, jc.getMethods().length - 1); } } - String[] msgs = v.getMessages(); + final String[] msgs = v.getMessages(); messagesTextPane.setBackground(msgs.length == 0 ? Color.green : Color.yellow); - StringBuilder allmsgs = new StringBuilder(); + final StringBuilder allmsgs = new StringBuilder(); for (int i = 0; i < msgs.length; i++) { msgs[i] = msgs[i].replace('\n', ' '); allmsgs.append(msgs[i]).append("\n\n"); @@ -316,7 +316,7 @@ public class VerifierAppFrame extends JF void newFileMenuItem_actionPerformed( final ActionEvent e ) { - String classname = JOptionPane + final String classname = JOptionPane .showInputDialog("Please enter the fully qualified name of a class or interface to verify:"); if ((classname == null) || (classname.isEmpty())) { return; @@ -330,13 +330,13 @@ public class VerifierAppFrame extends JF if (e.getValueIsAdjusting()) { return; } - Verifier v = VerifierFactory.getVerifier(current_class); - StringBuilder all3amsg = new StringBuilder(); + final Verifier v = VerifierFactory.getVerifier(current_class); + final StringBuilder all3amsg = new StringBuilder(); boolean all3aok = true; boolean rejected = false; for (int i = 0; i < pass3aJList.getModel().getSize(); i++) { if (pass3aJList.isSelectedIndex(i)) { - VerificationResult vr = v.doPass3a(i); + final VerificationResult vr = v.doPass3a(i); if (vr.getStatus() == VerificationResult.VERIFIED_REJECTED) { all3aok = false; rejected = true; @@ -346,7 +346,7 @@ public class VerifierAppFrame extends JF jc = Repository.lookupClass(v.getClassName()); all3amsg.append("Method '").append(jc.getMethods()[i]).append("': ") .append(vr.getMessage().replace('\n', ' ') ).append("\n\n"); - } catch (ClassNotFoundException ex) { + } catch (final ClassNotFoundException ex) { // FIXME: handle the error ex.printStackTrace(); } @@ -361,13 +361,13 @@ public class VerifierAppFrame extends JF if (e.getValueIsAdjusting()) { return; } - Verifier v = VerifierFactory.getVerifier(current_class); - StringBuilder all3bmsg = new StringBuilder(); + final Verifier v = VerifierFactory.getVerifier(current_class); + final StringBuilder all3bmsg = new StringBuilder(); boolean all3bok = true; boolean rejected = false; for (int i = 0; i < pass3bJList.getModel().getSize(); i++) { if (pass3bJList.isSelectedIndex(i)) { - VerificationResult vr = v.doPass3b(i); + final VerificationResult vr = v.doPass3b(i); if (vr.getStatus() == VerificationResult.VERIFIED_REJECTED) { all3bok = false; rejected = true; @@ -377,7 +377,7 @@ public class VerifierAppFrame extends JF jc = Repository.lookupClass(v.getClassName()); all3bmsg.append("Method '").append(jc.getMethods()[i]).append("': ") .append(vr.getMessage().replace('\n', ' ')).append("\n\n"); - } catch (ClassNotFoundException ex) { + } catch (final ClassNotFoundException ex) { // FIXME: handle the error ex.printStackTrace(); } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java Tue Jun 21 20:50:19 2016 @@ -71,7 +71,7 @@ public class VerifierFactory { */ private static void notify( final String fully_qualified_classname ) { // notify the observers - for (VerifierFactoryObserver vfo : observers) { + for (final VerifierFactoryObserver vfo : observers) { vfo.update(fully_qualified_classname); } } @@ -85,7 +85,7 @@ public class VerifierFactory { * referenced class files. */ public static Verifier[] getVerifiers() { - Verifier[] vs = new Verifier[hashMap.values().size()]; + final Verifier[] vs = new Verifier[hashMap.values().size()]; return hashMap.values().toArray(vs); // Because vs is big enough, vs is used to store the values into and returned! } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java Tue Jun 21 20:50:19 2016 @@ -46,14 +46,14 @@ public class VerifierFactoryListModel im @Override public synchronized void update( final String s ) { - Verifier[] verifiers = VerifierFactory.getVerifiers(); - int num_of_verifiers = verifiers.length; + final Verifier[] verifiers = VerifierFactory.getVerifiers(); + final int num_of_verifiers = verifiers.length; cache.clear(); - for (Verifier verifier : verifiers) { + for (final Verifier verifier : verifiers) { cache.add(verifier.getClassName()); } - for (ListDataListener listener : listeners) { - ListDataEvent e = new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, 0, num_of_verifiers - 1); + for (final ListDataListener listener : listeners) { + final ListDataEvent e = new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, 0, num_of_verifiers - 1); listener.contentsChanged(e); } } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifyDialog.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifyDialog.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifyDialog.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifyDialog.java Tue Jun 21 20:50:19 2016 @@ -153,7 +153,7 @@ public class VerifyDialog extends javax. */ public VerifyDialog(String fully_qualified_class_name) { super(); - int dotclasspos = fully_qualified_class_name.lastIndexOf(".class"); + final int dotclasspos = fully_qualified_class_name.lastIndexOf(".class"); if (dotclasspos != -1) { fully_qualified_class_name = fully_qualified_class_name.substring(0, dotclasspos); } @@ -171,7 +171,7 @@ public class VerifyDialog extends javax. this.pass1Button_ActionPerformed(arg1); // user code begin {2} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {3} // user code end handleException(ivjExc); @@ -187,7 +187,7 @@ public class VerifyDialog extends javax. this.pass2Button_ActionPerformed(arg1); // user code begin {2} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {3} // user code end handleException(ivjExc); @@ -203,7 +203,7 @@ public class VerifyDialog extends javax. this.pass4Button_ActionPerformed(arg1); // user code begin {2} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {3} // user code end handleException(ivjExc); @@ -219,7 +219,7 @@ public class VerifyDialog extends javax. this.flushButton_ActionPerformed(arg1); // user code begin {2} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {3} // user code end handleException(ivjExc); @@ -253,7 +253,7 @@ public class VerifyDialog extends javax. ivjFlushButton.setActionCommand("FlushButton"); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -279,7 +279,7 @@ public class VerifyDialog extends javax. getJDialogContentPane().add(getFlushButton(), getFlushButton().getName()); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -301,7 +301,7 @@ public class VerifyDialog extends javax. ivjPass1Button.setActionCommand("Button1"); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -322,7 +322,7 @@ public class VerifyDialog extends javax. ivjPass1Panel.setBounds(30, 30, 50, 50); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -344,7 +344,7 @@ public class VerifyDialog extends javax. ivjPass2Button.setActionCommand("Button2"); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -365,7 +365,7 @@ public class VerifyDialog extends javax. ivjPass2Panel.setBounds(30, 90, 50, 50); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -387,7 +387,7 @@ public class VerifyDialog extends javax. ivjPass3Button.setActionCommand("Button2"); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -408,7 +408,7 @@ public class VerifyDialog extends javax. ivjPass3Panel.setBounds(30, 150, 50, 50); // user code begin {1} // user code end - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { // user code begin {2} // user code end handleException(ivjExc); @@ -457,7 +457,7 @@ public class VerifyDialog extends javax. setResizable(false); setContentPane(getJDialogContentPane()); initConnections(); - } catch (java.lang.Throwable ivjExc) { + } catch (final java.lang.Throwable ivjExc) { handleException(ivjExc); } // user code begin {2} @@ -474,7 +474,7 @@ public class VerifyDialog extends javax. */ public static void main( final java.lang.String[] args ) { classes_to_verify = args.length; - for (String arg : args) { + for (final String arg : args) { try { VerifyDialog aVerifyDialog; aVerifyDialog = new VerifyDialog(arg); @@ -490,7 +490,7 @@ public class VerifyDialog extends javax. } }); aVerifyDialog.setVisible(true); - } catch (Throwable exception) { + } catch (final Throwable exception) { System.err.println("Exception occurred in main() of javax.swing.JDialog"); exception.printStackTrace(System.out); } @@ -500,8 +500,8 @@ public class VerifyDialog extends javax. /** Machine-generated. */ public void pass1Button_ActionPerformed( final java.awt.event.ActionEvent actionEvent ) { - Verifier v = VerifierFactory.getVerifier(class_name); - VerificationResult vr = v.doPass1(); + final Verifier v = VerifierFactory.getVerifier(class_name); + final VerificationResult vr = v.doPass1(); if (vr.getStatus() == VerificationResult.VERIFIED_OK) { getPass1Panel().setBackground(Color.green); getPass1Panel().repaint(); @@ -516,8 +516,8 @@ public class VerifyDialog extends javax. /** Machine-generated. */ public void pass2Button_ActionPerformed( final java.awt.event.ActionEvent actionEvent ) { pass1Button_ActionPerformed(actionEvent); - Verifier v = VerifierFactory.getVerifier(class_name); - VerificationResult vr = v.doPass2(); + final Verifier v = VerifierFactory.getVerifier(class_name); + final VerificationResult vr = v.doPass2(); if (vr.getStatus() == VerificationResult.VERIFIED_OK) { getPass2Panel().setBackground(Color.green); getPass2Panel().repaint(); @@ -537,13 +537,13 @@ public class VerifyDialog extends javax. public void pass4Button_ActionPerformed( final java.awt.event.ActionEvent actionEvent ) { pass2Button_ActionPerformed(actionEvent); Color color = Color.green; - Verifier v = VerifierFactory.getVerifier(class_name); + final Verifier v = VerifierFactory.getVerifier(class_name); VerificationResult vr = v.doPass2(); if (vr.getStatus() == VerificationResult.VERIFIED_OK) { JavaClass jc = null; try { jc = Repository.lookupClass(class_name); - int nr = jc.getMethods().length; + final int nr = jc.getMethods().length; for (int i = 0; i < nr; i++) { vr = v.doPass3b(i); if (vr.getStatus() != VerificationResult.VERIFIED_OK) { @@ -551,7 +551,7 @@ public class VerifyDialog extends javax. break; } } - } catch (ClassNotFoundException ex) { + } catch (final ClassNotFoundException ex) { // FIXME: report the error ex.printStackTrace(); } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/AssertionViolatedException.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/AssertionViolatedException.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/AssertionViolatedException.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/AssertionViolatedException.java Tue Jun 21 20:50:19 2016 @@ -78,7 +78,7 @@ public final class AssertionViolatedExce * DO NOT USE. It's for experimental testing during development only. */ public static void main(final String[] args) { - AssertionViolatedException ave = new AssertionViolatedException("Oops!"); + final AssertionViolatedException ave = new AssertionViolatedException("Oops!"); ave.extendMessage("\nFOUND:\n\t","\nExiting!!\n"); throw ave; } Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/Utility.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/Utility.java?rev=1749603&r1=1749602&r2=1749603&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/Utility.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/verifier/exc/Utility.java Tue Jun 21 20:50:19 2016 @@ -32,8 +32,8 @@ public final class Utility{ /** This method returns the stack trace of a Throwable instance as a String. */ public static String getStackTrace(final Throwable t) { - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); + final StringWriter sw = new StringWriter(); + final PrintWriter pw = new PrintWriter(sw); t.printStackTrace(pw); return sw.toString(); }