From 41d9b7431e598ff8acd5f7ed26df175bf0889974 Mon Sep 17 00:00:00 2001 From: ghidragon <106987263+ghidragon@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:10:16 -0400 Subject: [PATCH] GP-6006 Creating a new source type called 'Speculative' which marks symbol names that are less trustworthy than analysis --- .../Browser_Field_Formatter.htm | 2 +- .../DecompilePlugin/DecompilerAnnotations.html | 2 ++ .../program/model/symbol/SourceType.java | 18 +++++++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Ghidra/Features/Base/src/main/help/help/topics/CodeBrowserPlugin/Browser_Field_Formatter.htm b/Ghidra/Features/Base/src/main/help/help/topics/CodeBrowserPlugin/Browser_Field_Formatter.htm index 1dc739a1da..da45495a28 100644 --- a/Ghidra/Features/Base/src/main/help/help/topics/CodeBrowserPlugin/Browser_Field_Formatter.htm +++ b/Ghidra/Features/Base/src/main/help/help/topics/CodeBrowserPlugin/Browser_Field_Formatter.htm @@ -448,7 +448,7 @@ Function Indicates the source-type associated with the - function signature (i.e., DEFAULT, ANALYSIS, IMPORTED, USER_DEFINED). + function signature (i.e., DEFAULT, ANALYSIS, IMPORTED, USER_DEFINED, SPECULATIVE). diff --git a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerAnnotations.html b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerAnnotations.html index c9475a6a53..3ec9f0f284 100644 --- a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerAnnotations.html +++ b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerAnnotations.html @@ -1286,6 +1286,8 @@
  • DEFAULT - for basic or no information
  • +SPECULATIVE - for information that is less trustworthy
  • +
  • ANALYSIS - for information derived by an Analyzer
  • IMPORTED - for information imported from an external source
  • diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SourceType.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SourceType.java index a6f1cce566..9b92ec5b02 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SourceType.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SourceType.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,23 +20,27 @@ public enum SourceType { // database by their ordinal. /** The object's source indicator for an auto analysis. */ - ANALYSIS("Analysis", 2), + ANALYSIS("Analysis", 3), /** The object's source indicator for a user defined. */ - USER_DEFINED("User Defined", 4), + USER_DEFINED("User Defined", 5), /** The object's source indicator for a default. */ DEFAULT("Default", 1), /** The object's source indicator for an imported. */ - IMPORTED("Imported", 3); + IMPORTED("Imported", 4), + /** The object's source indicator for something that is somewhat of an educated guess. */ + SPECULATIVE("Speculative", 2); private final String displayString; - private final int priority; // bigger numbers are higher priorty + private final int priority; // bigger numbers are higher priority private SourceType(String displayString, int priority) { this.displayString = displayString; this.priority = priority; } - /** Returns a user-friendly string */ + /** + * {@return a user-friendly string} + */ public String getDisplayString() { return displayString; }