mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-06-01 04:05:23 +08:00
Merge remote-tracking branch 'origin/GP-4977_DecompileJVMArrays'
This commit is contained in:
@@ -321,7 +321,7 @@ public class DescriptorDecoder {
|
|||||||
*/
|
*/
|
||||||
public static DataType getPointerType(String descriptor, DataTypeManager dtManager) {
|
public static DataType getPointerType(String descriptor, DataTypeManager dtManager) {
|
||||||
int lastBracket = descriptor.lastIndexOf("[");
|
int lastBracket = descriptor.lastIndexOf("[");
|
||||||
String baseTypeOfArray = descriptor.substring(lastBracket + 1, lastBracket + 2);
|
String baseTypeOfArray = descriptor.substring(lastBracket + 1);
|
||||||
DataType baseType = null;
|
DataType baseType = null;
|
||||||
switch (baseTypeOfArray.charAt(0)) {
|
switch (baseTypeOfArray.charAt(0)) {
|
||||||
case BASE_TYPE_BYTE:
|
case BASE_TYPE_BYTE:
|
||||||
@@ -349,7 +349,8 @@ public class DescriptorDecoder {
|
|||||||
baseType = ArrayMethods.getArrayBaseType(JavaClassConstants.T_SHORT, dtManager);
|
baseType = ArrayMethods.getArrayBaseType(JavaClassConstants.T_SHORT, dtManager);
|
||||||
break;
|
break;
|
||||||
case BASE_TYPE_REFERENCE:
|
case BASE_TYPE_REFERENCE:
|
||||||
return dtManager.getPointer(DWordDataType.dataType);
|
baseType = getDataTypeOfDescriptor(baseTypeOfArray, dtManager);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
|
|||||||
Reference in New Issue
Block a user