Commit d28d5dde9ba936d287308d59c4505219dae270a8

Authored by Mumfrey
1 parent 9959697d

move generateDescriptor methods to ByteCodeUtilities

java/common/com/mumfrey/liteloader/transformers/ByteCodeUtilities.java
@@ -677,4 +677,74 @@ public abstract class ByteCodeUtilities @@ -677,4 +677,74 @@ public abstract class ByteCodeUtilities
677 } 677 }
678 return null; 678 return null;
679 } 679 }
  680 +
  681 + /**
  682 + * @param returnType
  683 + * @param args
  684 + */
  685 + public static String generateDescriptor(Type returnType, Object... args)
  686 + {
  687 + return ByteCodeUtilities.generateDescriptor(Obf.MCP, returnType, args);
  688 + }
  689 +
  690 + /**
  691 + * @param returnType
  692 + * @param args
  693 + */
  694 + public static String generateDescriptor(Obf returnType, Object... args)
  695 + {
  696 + return ByteCodeUtilities.generateDescriptor(Obf.MCP, returnType, args);
  697 + }
  698 +
  699 + /**
  700 + * @param returnType
  701 + * @param args
  702 + */
  703 + public static String generateDescriptor(String returnType, Object... args)
  704 + {
  705 + return ByteCodeUtilities.generateDescriptor(Obf.MCP, returnType, args);
  706 + }
  707 +
  708 + /**
  709 + * @param obfType
  710 + * @param returnType
  711 + * @param args
  712 + */
  713 + public static String generateDescriptor(int obfType, Object returnType, Object... args)
  714 + {
  715 + StringBuilder sb = new StringBuilder().append('(');;
  716 +
  717 + for (Object arg : args)
  718 + {
  719 + sb.append(ByteCodeUtilities.toDescriptor(obfType, arg));
  720 + }
  721 +
  722 + return sb.append(')').append(returnType != null ? ByteCodeUtilities.toDescriptor(obfType, returnType) : "V").toString();
  723 + }
  724 +
  725 + /**
  726 + * @param obfType
  727 + * @param arg
  728 + */
  729 + private static String toDescriptor(int obfType, Object arg)
  730 + {
  731 + if (arg instanceof Obf)
  732 + {
  733 + return ((Obf)arg).getDescriptor(obfType);
  734 + }
  735 + else if (arg instanceof String)
  736 + {
  737 + return (String)arg;
  738 + }
  739 + else if (arg instanceof Type)
  740 + {
  741 + return arg.toString();
  742 + }
  743 + else if (arg instanceof Class)
  744 + {
  745 + return Type.getDescriptor((Class<?>)arg).toString();
  746 + }
  747 +
  748 + return arg == null ? "" : arg.toString();
  749 + }
680 } 750 }
java/common/com/mumfrey/liteloader/transformers/Callback.java
@@ -3,8 +3,6 @@ package com.mumfrey.liteloader.transformers; @@ -3,8 +3,6 @@ package com.mumfrey.liteloader.transformers;
3 import java.util.ArrayList; 3 import java.util.ArrayList;
4 import java.util.List; 4 import java.util.List;
5 5
6 -import org.objectweb.asm.Type;  
7 -  
8 import com.mumfrey.liteloader.core.runtime.Obf; 6 import com.mumfrey.liteloader.core.runtime.Obf;
9 7
10 /** 8 /**
@@ -273,74 +271,4 @@ public class Callback @@ -273,74 +271,4 @@ public class Callback
273 { 271 {
274 return super.hashCode(); 272 return super.hashCode();
275 } 273 }
276 -  
277 - /**  
278 - * @param returnType  
279 - * @param args  
280 - */  
281 - public static String generateDescriptor(Type returnType, Object... args)  
282 - {  
283 - return Callback.generateDescriptor(Obf.MCP, returnType, args);  
284 - }  
285 -  
286 - /**  
287 - * @param returnType  
288 - * @param args  
289 - */  
290 - public static String generateDescriptor(Obf returnType, Object... args)  
291 - {  
292 - return Callback.generateDescriptor(Obf.MCP, returnType, args);  
293 - }  
294 -  
295 - /**  
296 - * @param returnType  
297 - * @param args  
298 - */  
299 - public static String generateDescriptor(String returnType, Object... args)  
300 - {  
301 - return Callback.generateDescriptor(Obf.MCP, returnType, args);  
302 - }  
303 -  
304 - /**  
305 - * @param obfType  
306 - * @param returnType  
307 - * @param args  
308 - */  
309 - public static String generateDescriptor(int obfType, Object returnType, Object... args)  
310 - {  
311 - StringBuilder sb = new StringBuilder().append('(');;  
312 -  
313 - for (Object arg : args)  
314 - {  
315 - sb.append(Callback.toDescriptor(obfType, arg));  
316 - }  
317 -  
318 - return sb.append(')').append(returnType != null ? Callback.toDescriptor(obfType, returnType) : "V").toString();  
319 - }  
320 -  
321 - /**  
322 - * @param obfType  
323 - * @param arg  
324 - */  
325 - private static String toDescriptor(int obfType, Object arg)  
326 - {  
327 - if (arg instanceof Obf)  
328 - {  
329 - return ((Obf)arg).getDescriptor(obfType);  
330 - }  
331 - else if (arg instanceof String)  
332 - {  
333 - return (String)arg;  
334 - }  
335 - else if (arg instanceof Type)  
336 - {  
337 - return arg.toString();  
338 - }  
339 - else if (arg instanceof Class)  
340 - {  
341 - return Type.getDescriptor((Class<?>)arg).toString();  
342 - }  
343 -  
344 - return arg == null ? "" : arg.toString();  
345 - }  
346 } 274 }
347 \ No newline at end of file 275 \ No newline at end of file
java/common/com/mumfrey/liteloader/transformers/event/MethodInfo.java
@@ -3,7 +3,7 @@ package com.mumfrey.liteloader.transformers.event; @@ -3,7 +3,7 @@ package com.mumfrey.liteloader.transformers.event;
3 import joptsimple.internal.Strings; 3 import joptsimple.internal.Strings;
4 4
5 import com.mumfrey.liteloader.core.runtime.Obf; 5 import com.mumfrey.liteloader.core.runtime.Obf;
6 -import com.mumfrey.liteloader.transformers.Callback; 6 +import com.mumfrey.liteloader.transformers.ByteCodeUtilities;
7 7
8 /** 8 /**
9 * Encapsulates a method descriptor with varying degrees of accuracy from a simpler owner/method mapping up to 9 * Encapsulates a method descriptor with varying degrees of accuracy from a simpler owner/method mapping up to
@@ -139,7 +139,7 @@ public class MethodInfo @@ -139,7 +139,7 @@ public class MethodInfo
139 */ 139 */
140 public MethodInfo(Obf owner, String method, Object returnType, Object... args) 140 public MethodInfo(Obf owner, String method, Object returnType, Object... args)
141 { 141 {
142 - this(owner.name, owner.obf, method, method, method, Callback.generateDescriptor(Obf.MCP, returnType, args), Callback.generateDescriptor(Obf.OBF, returnType, args)); 142 + this(owner.name, owner.obf, method, method, method, ByteCodeUtilities.generateDescriptor(Obf.MCP, returnType, args), ByteCodeUtilities.generateDescriptor(Obf.OBF, returnType, args));
143 } 143 }
144 144
145 /** 145 /**
@@ -158,7 +158,7 @@ public class MethodInfo @@ -158,7 +158,7 @@ public class MethodInfo
158 */ 158 */
159 public MethodInfo(Obf owner, Obf method, Object returnType, Object... args) 159 public MethodInfo(Obf owner, Obf method, Object returnType, Object... args)
160 { 160 {
161 - this(owner.name, owner.obf, method.name, method.srg, method.obf, Callback.generateDescriptor(Obf.MCP, returnType, args), Callback.generateDescriptor(Obf.OBF, returnType, args)); 161 + this(owner.name, owner.obf, method.name, method.srg, method.obf, ByteCodeUtilities.generateDescriptor(Obf.MCP, returnType, args), ByteCodeUtilities.generateDescriptor(Obf.OBF, returnType, args));
162 } 162 }
163 163
164 /** 164 /**