From 076e4393f25bf1ad1ff1bd2853153e2b595dd90b Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 28 Aug 2014 21:34:14 +0400 Subject: java-decompiler: post-import cleanup (formatting and copyright) --- .../modules/renamer/ConverterHelper.java | 256 +++++++++++---------- 1 file changed, 136 insertions(+), 120 deletions(-) (limited to 'src/org/jetbrains/java/decompiler/modules/renamer/ConverterHelper.java') diff --git a/src/org/jetbrains/java/decompiler/modules/renamer/ConverterHelper.java b/src/org/jetbrains/java/decompiler/modules/renamer/ConverterHelper.java index d85d51f..f2cb1ec 100644 --- a/src/org/jetbrains/java/decompiler/modules/renamer/ConverterHelper.java +++ b/src/org/jetbrains/java/decompiler/modules/renamer/ConverterHelper.java @@ -1,127 +1,143 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.jetbrains.java.decompiler.modules.renamer; -import java.util.HashSet; - import org.jetbrains.java.decompiler.main.extern.IIdentifierRenamer; +import java.util.HashSet; + public class ConverterHelper implements IIdentifierRenamer { - private static HashSet setReserved = new HashSet(); - - static { - setReserved.add("abstract"); - setReserved.add("do"); - setReserved.add("if"); - setReserved.add("package"); - setReserved.add("synchronized"); - setReserved.add("boolean"); - setReserved.add("double"); - setReserved.add("implements"); - setReserved.add("private"); - setReserved.add("this"); - setReserved.add("break"); - setReserved.add("else"); - setReserved.add("import"); - setReserved.add("protected"); - setReserved.add("throw"); - setReserved.add("byte"); - setReserved.add("extends"); - setReserved.add("instanceof"); - setReserved.add("public"); - setReserved.add("throws"); - setReserved.add("case"); - setReserved.add("false"); - setReserved.add("int"); - setReserved.add("return"); - setReserved.add("transient"); - setReserved.add("catch"); - setReserved.add("final"); - setReserved.add("interface"); - setReserved.add("short"); - setReserved.add("true"); - setReserved.add("char"); - setReserved.add("finally"); - setReserved.add("long"); - setReserved.add("static"); - setReserved.add("try"); - setReserved.add("class"); - setReserved.add("float"); - setReserved.add("native"); - setReserved.add("strictfp"); - setReserved.add("void"); - setReserved.add("const"); - setReserved.add("for"); - setReserved.add("new"); - setReserved.add("super"); - setReserved.add("volatile"); - setReserved.add("continue"); - setReserved.add("goto"); - setReserved.add("null"); - setReserved.add("switch"); - setReserved.add("while"); - setReserved.add("default"); - setReserved.add("assert"); - setReserved.add("enum"); - } - - private int class_counter = 0; - - private int field_counter = 0; - - private int method_counter = 0; - - private HashSet setNonStandardClassNames = new HashSet(); - - public boolean toBeRenamed(int element_type, String classname, String element, String descriptor) { - String value = (element_type == IIdentifierRenamer.ELEMENT_CLASS)?classname:element; - return value == null || value.length() == 0 || value.length()<=2 || setReserved.contains(value) || Character.isDigit(value.charAt(0)); - } - - // TODO: consider possible conflicts with not renamed classes, fields and methods! - // We should get all relevant information here. - public String getNextClassname(String fullname, String shortname) { - - if(shortname == null) { - return "class_"+(class_counter++); - } - - int index = 0; - while(Character.isDigit(shortname.charAt(index))) { - index++; - } - - if(index == 0 || index == shortname.length()) { - return "class_"+(class_counter++); - } else { - String name = shortname.substring(index); - - if(setNonStandardClassNames.contains(name)) { - return "Inner"+name+"_"+(class_counter++); - } else { - setNonStandardClassNames.add(name); - return "Inner"+name; - } - } - } - - public String getNextFieldname(String classname, String field, String descriptor) { - return "field_"+(field_counter++); - } - - public String getNextMethodname(String classname, String method, String descriptor) { - return "method_"+(method_counter++); - } - - // ***************************************************************************** - // static methods - // ***************************************************************************** - - public static String getSimpleClassName(String fullname) { - return fullname.substring(fullname.lastIndexOf('/')+1); - } - - public static String replaceSimpleClassName(String fullname, String newname) { - return fullname.substring(0, fullname.lastIndexOf('/')+1)+newname; - } - + private static HashSet setReserved = new HashSet(); + + static { + setReserved.add("abstract"); + setReserved.add("do"); + setReserved.add("if"); + setReserved.add("package"); + setReserved.add("synchronized"); + setReserved.add("boolean"); + setReserved.add("double"); + setReserved.add("implements"); + setReserved.add("private"); + setReserved.add("this"); + setReserved.add("break"); + setReserved.add("else"); + setReserved.add("import"); + setReserved.add("protected"); + setReserved.add("throw"); + setReserved.add("byte"); + setReserved.add("extends"); + setReserved.add("instanceof"); + setReserved.add("public"); + setReserved.add("throws"); + setReserved.add("case"); + setReserved.add("false"); + setReserved.add("int"); + setReserved.add("return"); + setReserved.add("transient"); + setReserved.add("catch"); + setReserved.add("final"); + setReserved.add("interface"); + setReserved.add("short"); + setReserved.add("true"); + setReserved.add("char"); + setReserved.add("finally"); + setReserved.add("long"); + setReserved.add("static"); + setReserved.add("try"); + setReserved.add("class"); + setReserved.add("float"); + setReserved.add("native"); + setReserved.add("strictfp"); + setReserved.add("void"); + setReserved.add("const"); + setReserved.add("for"); + setReserved.add("new"); + setReserved.add("super"); + setReserved.add("volatile"); + setReserved.add("continue"); + setReserved.add("goto"); + setReserved.add("null"); + setReserved.add("switch"); + setReserved.add("while"); + setReserved.add("default"); + setReserved.add("assert"); + setReserved.add("enum"); + } + + private int class_counter = 0; + + private int field_counter = 0; + + private int method_counter = 0; + + private HashSet setNonStandardClassNames = new HashSet(); + + public boolean toBeRenamed(int element_type, String classname, String element, String descriptor) { + String value = (element_type == IIdentifierRenamer.ELEMENT_CLASS) ? classname : element; + return value == null || value.length() == 0 || value.length() <= 2 || setReserved.contains(value) || Character.isDigit(value.charAt(0)); + } + + // TODO: consider possible conflicts with not renamed classes, fields and methods! + // We should get all relevant information here. + public String getNextClassname(String fullname, String shortname) { + + if (shortname == null) { + return "class_" + (class_counter++); + } + + int index = 0; + while (Character.isDigit(shortname.charAt(index))) { + index++; + } + + if (index == 0 || index == shortname.length()) { + return "class_" + (class_counter++); + } + else { + String name = shortname.substring(index); + + if (setNonStandardClassNames.contains(name)) { + return "Inner" + name + "_" + (class_counter++); + } + else { + setNonStandardClassNames.add(name); + return "Inner" + name; + } + } + } + + public String getNextFieldname(String classname, String field, String descriptor) { + return "field_" + (field_counter++); + } + + public String getNextMethodname(String classname, String method, String descriptor) { + return "method_" + (method_counter++); + } + + // ***************************************************************************** + // static methods + // ***************************************************************************** + + public static String getSimpleClassName(String fullname) { + return fullname.substring(fullname.lastIndexOf('/') + 1); + } + + public static String replaceSimpleClassName(String fullname, String newname) { + return fullname.substring(0, fullname.lastIndexOf('/') + 1) + newname; + } } -- cgit v1.2.3