< prev index next >
src/jdk.jdi/share/classes/com/sun/tools/jdi/JNITypeParser.java
Print this page
@@ -41,10 +41,34 @@
JNITypeParser(String signature) {
this.signature = signature;
}
+ static String inlineTypeNameToSignature(String signature) {
+ StringBuilder sb = new StringBuilder();
+ int firstIndex = signature.indexOf('[');
+ int index = firstIndex;
+ while (index != -1) {
+ sb.append('[');
+ index = signature.indexOf('[', index + 1);
+ }
+
+ if (signature.equals("boolean") || signature.equals("byte")
+ || signature.equals("char") || signature.equals("short")
+ || signature.equals("int") ||signature.equals("long")
+ || signature.equals("float") || signature.equals("double")) {
+ throw new IllegalArgumentException("Not an inline type signature '" +
+ signature + "'");
+ } else {
+ sb.append('Q');
+ sb.append(signature.replace('.', '/'));
+ sb.append(';');
+ }
+
+ return sb.toString();
+ }
+
static String typeNameToSignature(String signature) {
StringBuilder sb = new StringBuilder();
int firstIndex = signature.indexOf('[');
int index = firstIndex;
while (index != -1) {
< prev index next >