< prev index next >

src/java.base/share/classes/jdk/internal/jimage/decompressor/SignatureParser.java

Print this page
rev 52979 : 8215281: Use String.isEmpty() when applicable in java.base
Reviewed-by: TBD


  43    public static class ParseResult {
  44 
  45         public final List<String> types = new ArrayList<>();
  46         public String formatted;
  47         private ParseResult() {}
  48     }
  49 
  50     private SignatureParser() {}
  51 
  52     public static String reconstruct(String formatted, List<String> arguments) {
  53         int arg_index = 0;
  54         char[] chars = formatted.toCharArray();
  55         StringBuilder out = new StringBuilder();
  56 
  57         for (int i = 0; i < chars.length; i++) {
  58             char c = chars[i];
  59             out.append(c);
  60             switch (c) {
  61                 case 'L': {
  62                     String pkg = arguments.get(arg_index);
  63                     if(pkg.length() > 0) {
  64                         out.append(pkg).append("/");
  65                     }
  66                     arg_index+=1;
  67                     out.append(arguments.get(arg_index));
  68                     arg_index+=1;
  69                     break;
  70                 }
  71                 default: {
  72                     break;
  73                 }
  74             }
  75         }
  76         return out.toString();
  77     }
  78 
  79     public static ParseResult parseSignatureDescriptor(String str) {
  80         ParseResult res = new ParseResult();
  81         char[] chars = str.toCharArray();
  82         StringBuilder type = null;
  83         StringBuilder formatted = new StringBuilder();




  43    public static class ParseResult {
  44 
  45         public final List<String> types = new ArrayList<>();
  46         public String formatted;
  47         private ParseResult() {}
  48     }
  49 
  50     private SignatureParser() {}
  51 
  52     public static String reconstruct(String formatted, List<String> arguments) {
  53         int arg_index = 0;
  54         char[] chars = formatted.toCharArray();
  55         StringBuilder out = new StringBuilder();
  56 
  57         for (int i = 0; i < chars.length; i++) {
  58             char c = chars[i];
  59             out.append(c);
  60             switch (c) {
  61                 case 'L': {
  62                     String pkg = arguments.get(arg_index);
  63                     if(!pkg.isEmpty()) {
  64                         out.append(pkg).append("/");
  65                     }
  66                     arg_index+=1;
  67                     out.append(arguments.get(arg_index));
  68                     arg_index+=1;
  69                     break;
  70                 }
  71                 default: {
  72                     break;
  73                 }
  74             }
  75         }
  76         return out.toString();
  77     }
  78 
  79     public static ParseResult parseSignatureDescriptor(String str) {
  80         ParseResult res = new ParseResult();
  81         char[] chars = str.toCharArray();
  82         StringBuilder type = null;
  83         StringBuilder formatted = new StringBuilder();


< prev index next >