mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
Merge remote-tracking branch
'origin/GP-1495_ghidra007_Add_check_for_error_decompiling_functions--SQUASHED' into Ghidra_10.1
This commit is contained in:
commit
331357f203
1 changed files with 17 additions and 0 deletions
|
@ -3313,6 +3313,23 @@ public class RecoveredClassUtils {
|
|||
// listing has void too, otherwise, leave it as is, probably a void
|
||||
String returnType = getReturnTypeFromDecompiler(constructorFunction);
|
||||
|
||||
// Set error bookmark, add error message, and get the listing return type if the
|
||||
// decompiler return type is null
|
||||
if (returnType == null) {
|
||||
|
||||
String msg1 = "Decompiler Error: Failed to decompile function";
|
||||
String msg2 = ", possibly due to the addition of class structure.";
|
||||
|
||||
Msg.debug(this, msg1 + " at " + constructorFunction.getEntryPoint() + msg2);
|
||||
|
||||
program.getBookmarkManager().setBookmark(constructorFunction.getEntryPoint(),
|
||||
BookmarkType.ERROR, "Decompiler Error", msg1 + msg2);
|
||||
|
||||
// get the return type from the listing and in some cases it will
|
||||
// indicate the correct type to help determine the below type to add
|
||||
returnType = constructorFunction.getReturnType().getDisplayName();
|
||||
}
|
||||
|
||||
if (returnType.equals("void")) {
|
||||
DataType voidDataType = new VoidDataType();
|
||||
constructorFunction.setReturnType(voidDataType, SourceType.ANALYSIS);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue