mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 09:49:23 +02:00
GP-0: Cleaning up certain types of javadoc errors
This commit is contained in:
parent
6086ba9bfb
commit
d23e67a088
411 changed files with 1153 additions and 1864 deletions
|
@ -13,9 +13,6 @@ package mobiledevices.dmg.ghidra;
|
||||||
public class GDataConverterBE implements GDataConverter {
|
public class GDataConverterBE implements GDataConverter {
|
||||||
public static final GDataConverterBE INSTANCE = new GDataConverterBE();
|
public static final GDataConverterBE INSTANCE = new GDataConverterBE();
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -11,9 +11,7 @@ package mobiledevices.dmg.ghidra;
|
||||||
|
|
||||||
public class GDataConverterLE implements GDataConverter {
|
public class GDataConverterLE implements GDataConverter {
|
||||||
public static GDataConverterLE INSTANCE = new GDataConverterLE();
|
public static GDataConverterLE INSTANCE = new GDataConverterLE();
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -48,9 +48,6 @@ public interface TraceBasedDataTypeManager extends ProgramBasedDataTypeManager {
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
default <T extends DataType> T resolveType(T dataType, DataTypeConflictHandler handler) {
|
default <T extends DataType> T resolveType(T dataType, DataTypeConflictHandler handler) {
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
return (T) resolve(dataType, handler);
|
return (T) resolve(dataType, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class SFOverviewInfo {
|
||||||
* Constructs an overview request with default parameters.
|
* Constructs an overview request with default parameters.
|
||||||
* @param functions required--a set of functions (at least one) for which an overview will be
|
* @param functions required--a set of functions (at least one) for which an overview will be
|
||||||
* computed. All functions must be from the same program.
|
* computed. All functions must be from the same program.
|
||||||
* @throws IllegalArgumentException if <tt>functions</tt> is <tt>null</tt>/empty or functions
|
* @throws IllegalArgumentException if {@code functions} is {@code null}/empty or functions
|
||||||
* are from multiple programs.
|
* are from multiple programs.
|
||||||
*/
|
*/
|
||||||
public SFOverviewInfo(Set<FunctionSymbol> functions) {
|
public SFOverviewInfo(Set<FunctionSymbol> functions) {
|
||||||
|
|
|
@ -48,7 +48,7 @@ public class SFQueryInfo {
|
||||||
* Constructs a query request with default parameters.
|
* Constructs a query request with default parameters.
|
||||||
* @param functions required--a set of functions (at least one) for which similar functions
|
* @param functions required--a set of functions (at least one) for which similar functions
|
||||||
* will searched. All functions must be from the same program.
|
* will searched. All functions must be from the same program.
|
||||||
* @throws IllegalArgumentException if <tt>functions</tt> is <tt>null</tt>/empty or functions
|
* @throws IllegalArgumentException if {@code functions} is {@code null}/empty or functions
|
||||||
* are from multiple programs.
|
* are from multiple programs.
|
||||||
*/
|
*/
|
||||||
public SFQueryInfo(Set<FunctionSymbol> functions) {
|
public SFQueryInfo(Set<FunctionSymbol> functions) {
|
||||||
|
|
|
@ -118,7 +118,7 @@ public class SimilarFunctionQueryService implements AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Query the given server with the parameters provider by <tt>queryInfo</tt>.
|
* Query the given server with the parameters provider by {@code queryInfo}.
|
||||||
*
|
*
|
||||||
* @param queryInfo a query info object containing the settings for the query
|
* @param queryInfo a query info object containing the settings for the query
|
||||||
* @param listener is the listener to be informed of the query status and incremental results
|
* @param listener is the listener to be informed of the query status and incremental results
|
||||||
|
|
|
@ -33,9 +33,6 @@ public class InstructionSearchScript extends GhidraScript {
|
||||||
testLoadAddresses();
|
testLoadAddresses();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private void testSearcher() {
|
private void testSearcher() {
|
||||||
AddressFactory addressFactory = currentProgram.getAddressFactory();
|
AddressFactory addressFactory = currentProgram.getAddressFactory();
|
||||||
|
@ -65,9 +62,6 @@ public class InstructionSearchScript extends GhidraScript {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private void testLoadString() {
|
private void testLoadString() {
|
||||||
InstructionSearchApi searcher = new InstructionSearchApi();
|
InstructionSearchApi searcher = new InstructionSearchApi();
|
||||||
|
@ -76,9 +70,6 @@ public class InstructionSearchScript extends GhidraScript {
|
||||||
searcher.loadInstructions(bytes, state.getTool());
|
searcher.loadInstructions(bytes, state.getTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private void testLoadAddresses() {
|
private void testLoadAddresses() {
|
||||||
InstructionSearchApi searcher = new InstructionSearchApi();
|
InstructionSearchApi searcher = new InstructionSearchApi();
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ public abstract class AbstractCreateStructureCmd implements Command<Program> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the structure that is represented by the provided
|
* Initializes the structure that is represented by the provided
|
||||||
* <tt>structureInfo</tt> object. This involves populating the new
|
* {@code structureInfo} object. This involves populating the new
|
||||||
* structure with data and then returning the data type object that
|
* structure with data and then returning the data type object that
|
||||||
* represents the newly created structure.
|
* represents the newly created structure.
|
||||||
*
|
*
|
||||||
|
|
|
@ -42,7 +42,7 @@ public interface DataLocationListContext {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of the locations of the current {@link Data} objects in the current action context that pass the given filter.
|
* Returns a list of the locations of the current {@link Data} objects in the current action context that pass the given filter.
|
||||||
* <P>
|
*
|
||||||
* @param filter a filter to apply to the current context's Data list, <code>null</code>
|
* @param filter a filter to apply to the current context's Data list, <code>null</code>
|
||||||
* implies all elements match.
|
* implies all elements match.
|
||||||
* @return a list of the locations of the current {@link Data} objects in the current action context that pass the given filter.
|
* @return a list of the locations of the current {@link Data} objects in the current action context that pass the given filter.
|
||||||
|
|
|
@ -2208,9 +2208,6 @@ public class DataTypeMergeManager implements MergeResolver {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private void processDataTypesAdded() throws CancelledException {
|
private void processDataTypesAdded() throws CancelledException {
|
||||||
for (Long element : myDtAddedList) {
|
for (Long element : myDtAddedList) {
|
||||||
currentMonitor.checkCancelled();
|
currentMonitor.checkCancelled();
|
||||||
|
|
|
@ -85,9 +85,6 @@ class SourceArchiveMergePanel extends JPanel {
|
||||||
buttonGroup.add(originalRB);
|
buttonGroup.add(originalRB);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
int getSelectedOption() {
|
int getSelectedOption() {
|
||||||
if (latestRB.isSelected()) {
|
if (latestRB.isSelected()) {
|
||||||
return DataTypeMergeManager.OPTION_LATEST;
|
return DataTypeMergeManager.OPTION_LATEST;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
/* ###
|
/* ###
|
||||||
* IP: GHIDRA
|
* IP: GHIDRA
|
||||||
* REVIEWED: YES
|
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -16,18 +15,15 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.plugin.core.analysis;
|
package ghidra.app.plugin.core.analysis;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
|
||||||
import ghidra.app.services.Analyzer;
|
import ghidra.app.services.Analyzer;
|
||||||
import ghidra.framework.options.Options;
|
import ghidra.framework.options.Options;
|
||||||
import ghidra.program.model.address.Address;
|
import ghidra.program.model.address.Address;
|
||||||
import ghidra.program.model.address.AddressSetView;
|
import ghidra.program.model.address.AddressSetView;
|
||||||
import ghidra.program.model.listing.Program;
|
import ghidra.program.model.listing.Program;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class AnalysisTaskList {
|
public class AnalysisTaskList {
|
||||||
private List<AnalysisScheduler> tasks;
|
private List<AnalysisScheduler> tasks;
|
||||||
private AutoAnalysisManager analysisMgr;
|
private AutoAnalysisManager analysisMgr;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
/* ###
|
/* ###
|
||||||
* IP: GHIDRA
|
* IP: GHIDRA
|
||||||
* REVIEWED: YES
|
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -16,6 +15,9 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.plugin.core.analysis;
|
package ghidra.app.plugin.core.analysis;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import docking.widgets.table.TableColumnDescriptor;
|
||||||
import ghidra.app.util.query.AlignedObjectBasedPreviewTableModel;
|
import ghidra.app.util.query.AlignedObjectBasedPreviewTableModel;
|
||||||
import ghidra.framework.plugintool.PluginTool;
|
import ghidra.framework.plugintool.PluginTool;
|
||||||
import ghidra.framework.plugintool.ServiceProvider;
|
import ghidra.framework.plugintool.ServiceProvider;
|
||||||
|
@ -28,13 +30,6 @@ import ghidra.util.exception.CancelledException;
|
||||||
import ghidra.util.table.field.*;
|
import ghidra.util.table.field.*;
|
||||||
import ghidra.util.task.TaskMonitor;
|
import ghidra.util.task.TaskMonitor;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import docking.widgets.table.TableColumnDescriptor;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class FindReferencesTableModel extends
|
public class FindReferencesTableModel extends
|
||||||
AlignedObjectBasedPreviewTableModel<ReferenceAddressPair> {
|
AlignedObjectBasedPreviewTableModel<ReferenceAddressPair> {
|
||||||
|
|
||||||
|
|
|
@ -513,7 +513,7 @@ public class BookmarkPlugin extends ProgramPlugin implements PopupActionProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of actions to delete bookmarks that are in the code unit surrounding the given
|
* Returns a list of actions to delete bookmarks that are in the code unit surrounding the given
|
||||||
* address. The list of actions will not exceed <tt>maxActionsCount</tt>
|
* address. The list of actions will not exceed {@code maxActionsCount}
|
||||||
*
|
*
|
||||||
* @param primaryAddress The address required to find the containing code unit.
|
* @param primaryAddress The address required to find the containing code unit.
|
||||||
* @param maxActionsCount The maximum number of actions to include in the returned list.
|
* @param maxActionsCount The maximum number of actions to include in the returned list.
|
||||||
|
@ -544,7 +544,7 @@ public class BookmarkPlugin extends ProgramPlugin implements PopupActionProvider
|
||||||
* @param primaryAddress The address required to find the containing code unit.
|
* @param primaryAddress The address required to find the containing code unit.
|
||||||
* @param type The bookmark type to retrieve.
|
* @param type The bookmark type to retrieve.
|
||||||
* @param navigator The BookmarkNavigator used to determine whether there are bookmarks inside
|
* @param navigator The BookmarkNavigator used to determine whether there are bookmarks inside
|
||||||
* the code unit containing the given <tt>primaryAddress</tt>.
|
* the code unit containing the given {@code primaryAddress}.
|
||||||
* @return a list of actions to delete bookmarks that are in the code unit surrounding the given
|
* @return a list of actions to delete bookmarks that are in the code unit surrounding the given
|
||||||
* address <b>for the given <i>type</i> of bookmark</b>.
|
* address <b>for the given <i>type</i> of bookmark</b>.
|
||||||
*/
|
*/
|
||||||
|
@ -579,8 +579,8 @@ public class BookmarkPlugin extends ProgramPlugin implements PopupActionProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the actions in <tt>newActionList</tt> to <tt>actionList</tt> while the size of
|
* Adds the actions in {@code newActionList} to {@code actionList} while the size of
|
||||||
* <tt>actionList</tt> is less than the given {@link #MAX_DELETE_ACTIONS}.
|
* {@code actionList} is less than the given {@link #MAX_DELETE_ACTIONS}.
|
||||||
*
|
*
|
||||||
* @param actionList The list to add to
|
* @param actionList The list to add to
|
||||||
* @param newActionList The list containing items to add
|
* @param newActionList The list containing items to add
|
||||||
|
|
|
@ -1449,7 +1449,7 @@ public abstract class CompositeEditorPanel extends JPanel
|
||||||
* list of traversal components. Once one of the radio buttons is focused, the up and down
|
* list of traversal components. Once one of the radio buttons is focused, the up and down
|
||||||
* arrow keys can be used to navigate the radio buttons. With this traversal policy, pressing
|
* arrow keys can be used to navigate the radio buttons. With this traversal policy, pressing
|
||||||
* Tab when on these buttons will move to the next traversal component.
|
* Tab when on these buttons will move to the next traversal component.
|
||||||
* <P>
|
*
|
||||||
* @see #getFocusComponents()
|
* @see #getFocusComponents()
|
||||||
*/
|
*/
|
||||||
private class CompFocusTraversalPolicy extends FocusTraversalPolicy {
|
private class CompFocusTraversalPolicy extends FocusTraversalPolicy {
|
||||||
|
|
|
@ -415,7 +415,7 @@ public class CreateStructureDialog extends ReusableDialogComponentProvider {
|
||||||
/**
|
/**
|
||||||
* Shows a dialog that allows the user to create a new structure.
|
* Shows a dialog that allows the user to create a new structure.
|
||||||
* <p>
|
* <p>
|
||||||
* This method expects that <tt>program</tt> and <tt>structure</tt> be
|
* This method expects that {@code program} and {@code structure} be
|
||||||
* non-null.
|
* non-null.
|
||||||
*
|
*
|
||||||
* @param program The current program which will be used to obtain current
|
* @param program The current program which will be used to obtain current
|
||||||
|
|
|
@ -543,7 +543,7 @@ public class DisassembledViewPlugin extends ProgramPlugin implements DomainObjec
|
||||||
/**
|
/**
|
||||||
* Constructs a new info instance based upon the given address.
|
* Constructs a new info instance based upon the given address.
|
||||||
* <p>
|
* <p>
|
||||||
* Note: A NullPointerException will be logged if <tt> address</tt> is
|
* Note: A NullPointerException will be logged if {@code address} is
|
||||||
* null.
|
* null.
|
||||||
*
|
*
|
||||||
* @param address The address that this info is based upon.
|
* @param address The address that this info is based upon.
|
||||||
|
|
|
@ -37,9 +37,6 @@ public class MaskSettings {
|
||||||
this.maskAddresses = maskAddresses;
|
this.maskAddresses = maskAddresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void clear() {
|
public void clear() {
|
||||||
maskOperands = false;
|
maskOperands = false;
|
||||||
maskScalars = false;
|
maskScalars = false;
|
||||||
|
|
|
@ -29,9 +29,6 @@ import javax.swing.border.*;
|
||||||
*/
|
*/
|
||||||
public abstract class ControlPanelWidget extends JPanel {
|
public abstract class ControlPanelWidget extends JPanel {
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public ControlPanelWidget( String title) {
|
public ControlPanelWidget( String title) {
|
||||||
|
|
||||||
this.setLayout(new FlowLayout());
|
this.setLayout(new FlowLayout());
|
||||||
|
|
|
@ -59,9 +59,6 @@ public class SearchDirectionWidget extends ControlPanelWidget {
|
||||||
* PROTECTED METHODS
|
* PROTECTED METHODS
|
||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected JPanel createContent() {
|
protected JPanel createContent() {
|
||||||
|
|
||||||
|
|
|
@ -262,8 +262,8 @@ public abstract class LocationDescriptor {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a generic {@link ProgramLocation} based upon the <tt>program</tt> and
|
* Returns a generic {@link ProgramLocation} based upon the {@code program} and
|
||||||
* <tt>homeAddress</tt> of this <tt>LocationDescriptor</tt>. Subclasses should override this
|
* {@code homeAddress} of this {@code LocationDescriptor}. Subclasses should override this
|
||||||
* method to return more specific addresses.
|
* method to return more specific addresses.
|
||||||
*
|
*
|
||||||
* @return a generic ProgramLocation.
|
* @return a generic ProgramLocation.
|
||||||
|
@ -314,7 +314,7 @@ public abstract class LocationDescriptor {
|
||||||
* @param obj The object associated with the text being rendered (e.g., CodeUnit).
|
* @param obj The object associated with the text being rendered (e.g., CodeUnit).
|
||||||
* @param fieldFactoryClass The class that created the field being rendered.
|
* @param fieldFactoryClass The class that created the field being rendered.
|
||||||
* @param highlightColor The color to use for highlighting.
|
* @param highlightColor The color to use for highlighting.
|
||||||
* @return An array of highlights to render for the given <tt>text</tt>
|
* @return An array of highlights to render for the given {@code text}
|
||||||
*/
|
*/
|
||||||
abstract Highlight[] getHighlights(String text, Object obj,
|
abstract Highlight[] getHighlights(String text, Object obj,
|
||||||
Class<? extends FieldFactory> fieldFactoryClass, Color highlightColor);
|
Class<? extends FieldFactory> fieldFactoryClass, Color highlightColor);
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class LocationReference implements Comparable<LocationReference> {
|
||||||
/**
|
/**
|
||||||
* Returns the address where the item described by this object is used. For example, for
|
* Returns the address where the item described by this object is used. For example, for
|
||||||
* data types, the address is where a data type is applied; for references, this value is the
|
* data types, the address is where a data type is applied; for references, this value is the
|
||||||
* <tt>from</tt> address.
|
* {@code from} address.
|
||||||
*
|
*
|
||||||
* @return the address where the item described by this object is used.
|
* @return the address where the item described by this object is used.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -38,7 +38,7 @@ public interface LocationReferencesService {
|
||||||
* location.
|
* location.
|
||||||
* @param location The location for which to show references.
|
* @param location The location for which to show references.
|
||||||
* @param navigatable The navigatable in which the references should be shown
|
* @param navigatable The navigatable in which the references should be shown
|
||||||
* @throws NullPointerException if <tt>location</tt> is null.
|
* @throws NullPointerException if {@code location} is null.
|
||||||
*/
|
*/
|
||||||
public void showReferencesToLocation(ProgramLocation location, Navigatable navigatable);
|
public void showReferencesToLocation(ProgramLocation location, Navigatable navigatable);
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ public final class ReferenceUtils {
|
||||||
*
|
*
|
||||||
* @param accumulator the results storage.
|
* @param accumulator the results storage.
|
||||||
* @param dataType The datatype for which to find references.
|
* @param dataType The datatype for which to find references.
|
||||||
* @param fieldName optional field name for which to search; the <tt>dataType</tt> must be a
|
* @param fieldName optional field name for which to search; the {@code dataType} must be a
|
||||||
* {@link Composite} to search for a field.
|
* {@link Composite} to search for a field.
|
||||||
* @param program The program from within which to find references.
|
* @param program The program from within which to find references.
|
||||||
* @param monitor A task monitor to be updated as data is searched; if this is null, then a
|
* @param monitor A task monitor to be updated as data is searched; if this is null, then a
|
||||||
|
@ -198,7 +198,7 @@ public final class ReferenceUtils {
|
||||||
*
|
*
|
||||||
* @param accumulator the results storage.
|
* @param accumulator the results storage.
|
||||||
* @param dataType The datatype for which to find references.
|
* @param dataType The datatype for which to find references.
|
||||||
* @param fieldName optional field name for which to search; the <tt>dataType</tt> must be a
|
* @param fieldName optional field name for which to search; the {@code dataType} must be a
|
||||||
* {@link Composite} to search for a field.
|
* {@link Composite} to search for a field.
|
||||||
* @param program The program from within which to find references.
|
* @param program The program from within which to find references.
|
||||||
* @param discoverTypes if true, the {@link DataTypeReferenceFinder} service will be used to
|
* @param discoverTypes if true, the {@link DataTypeReferenceFinder} service will be used to
|
||||||
|
|
|
@ -61,7 +61,7 @@ class VariableTypeLocationDescriptor extends DataTypeLocationDescriptor {
|
||||||
/**
|
/**
|
||||||
* Overridden to catch special cases when processing variable locations. This method will
|
* Overridden to catch special cases when processing variable locations. This method will
|
||||||
* call to the {@link super#getHighlights(String, Object, Class, Color)}
|
* call to the {@link super#getHighlights(String, Object, Class, Color)}
|
||||||
* <tt>super</tt> implementation if no variable highlights are found.
|
* {@code super} implementation if no variable highlights are found.
|
||||||
*
|
*
|
||||||
* @see DataTypeLocationDescriptor#getHighlights(String, Object, Class, Color)
|
* @see DataTypeLocationDescriptor#getHighlights(String, Object, Class, Color)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -90,7 +90,7 @@ class DnDTreeCellRenderer extends DefaultTreeCellRenderer {
|
||||||
/**
|
/**
|
||||||
* Enables and disables the rendering of HTML content in this renderer. If enabled, this
|
* Enables and disables the rendering of HTML content in this renderer. If enabled, this
|
||||||
* renderer will interpret HTML content when the text this renderer is showing begins with
|
* renderer will interpret HTML content when the text this renderer is showing begins with
|
||||||
* <tt><html></tt>
|
* {@code <html>}
|
||||||
*
|
*
|
||||||
* @param enable true to enable HTML rendering; false to disable it
|
* @param enable true to enable HTML rendering; false to disable it
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -49,7 +49,6 @@ import resources.Icons;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ComponentProvider that displays a table of External Programs.
|
* ComponentProvider that displays a table of External Programs.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class ExternalReferencesProvider extends ComponentProviderAdapter {
|
public class ExternalReferencesProvider extends ComponentProviderAdapter {
|
||||||
private static Icon ADD_ICON = Icons.ADD_ICON;
|
private static Icon ADD_ICON = Icons.ADD_ICON;
|
||||||
|
|
|
@ -446,9 +446,6 @@ public class StackEditorModel extends CompositeEditorModel {
|
||||||
setRelOffsetSelection(offsetSelection);
|
setRelOffsetSelection(offsetSelection);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private OffsetPairs getRelOffsetSelection() {
|
private OffsetPairs getRelOffsetSelection() {
|
||||||
OffsetPairs offsets = new OffsetPairs();
|
OffsetPairs offsets = new OffsetPairs();
|
||||||
int num = selection.getNumRanges();
|
int num = selection.getNumRanges();
|
||||||
|
@ -469,9 +466,6 @@ public class StackEditorModel extends CompositeEditorModel {
|
||||||
return offsets;
|
return offsets;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private void setRelOffsetSelection(OffsetPairs offsets) {
|
private void setRelOffsetSelection(OffsetPairs offsets) {
|
||||||
FieldSelection newSelection = new FieldSelection();
|
FieldSelection newSelection = new FieldSelection();
|
||||||
int num = offsets.getNumPairs();
|
int num = offsets.getNumPairs();
|
||||||
|
|
|
@ -33,7 +33,6 @@ import ghidra.util.task.TaskMonitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table model for the Search -> For Strings... result dialog.
|
* Table model for the Search -> For Strings... result dialog.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class StringTableModel extends AddressBasedTableModel<FoundString> {
|
public class StringTableModel extends AddressBasedTableModel<FoundString> {
|
||||||
|
|
||||||
|
|
|
@ -47,8 +47,6 @@ import resources.ResourceManager;
|
||||||
/**
|
/**
|
||||||
* Plugin that provides the "Defined Strings" table, where all the currently defined
|
* Plugin that provides the "Defined Strings" table, where all the currently defined
|
||||||
* string data in the program is listed.
|
* string data in the program is listed.
|
||||||
* <p>
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
@PluginInfo(
|
@PluginInfo(
|
||||||
|
|
|
@ -94,12 +94,12 @@ public class OrganizationNode extends SymbolTreeNode {
|
||||||
* abcc
|
* abcc
|
||||||
* g
|
* g
|
||||||
* </pre>
|
* </pre>
|
||||||
* <p>
|
*
|
||||||
* @param list list of child nodes of to breakup into smaller groups
|
* @param list list of child nodes of to breakup into smaller groups
|
||||||
* @param maxGroupSize the max number of nodes to allow before trying to organize into
|
* @param maxGroupSize the max number of nodes to allow before trying to organize into
|
||||||
* smaller groups
|
* smaller groups
|
||||||
* @param monitor the TaskMonitor to be checked for canceling this operation
|
* @param monitor the TaskMonitor to be checked for canceling this operation
|
||||||
* @return the given <tt>list</tt> sub-grouped as outlined above
|
* @return the given {@code list} sub-grouped as outlined above
|
||||||
* @throws CancelledException if the operation is cancelled
|
* @throws CancelledException if the operation is cancelled
|
||||||
*/
|
*/
|
||||||
public static List<GTreeNode> organize(List<GTreeNode> list, int maxGroupSize,
|
public static List<GTreeNode> organize(List<GTreeNode> list, int maxGroupSize,
|
||||||
|
|
|
@ -88,7 +88,7 @@ import ghidra.util.Msg;
|
||||||
* <p>
|
* <p>
|
||||||
* For example, the Cursor Position sequence is documented as:
|
* For example, the Cursor Position sequence is documented as:
|
||||||
* <p>
|
* <p>
|
||||||
* <tt>CSI <em>n</em> ; <em>m</em> H</tt>
|
* {@code CSI <em>n</em> ; <em>m</em> H}
|
||||||
* <p>
|
* <p>
|
||||||
* Supposing {@code n} is 13 and {@code m} is 40, this sequence would be encoded as the string
|
* Supposing {@code n} is 13 and {@code m} is 40, this sequence would be encoded as the string
|
||||||
* {@code "\033[13;40H"}. The parser will handle decoding the CSI, parameters, and final byte
|
* {@code "\033[13;40H"}. The parser will handle decoding the CSI, parameters, and final byte
|
||||||
|
@ -682,7 +682,7 @@ public interface VtHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse a sequence of integers in the form <tt><em>n</em> ; <em>m</em> ;</tt> ....
|
* Parse a sequence of integers in the form {@code <em>n</em> ; <em>m</em> ;} ....
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* This is designed to replace the {@link String#split(String)} and
|
* This is designed to replace the {@link String#split(String)} and
|
||||||
|
|
|
@ -31,9 +31,7 @@ public class SubroutineMatch {
|
||||||
private Address[] progAAddrs;
|
private Address[] progAAddrs;
|
||||||
private Address[] progBAddrs;
|
private Address[] progBAddrs;
|
||||||
private String reason;
|
private String reason;
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public SubroutineMatch(String reason) {
|
public SubroutineMatch(String reason) {
|
||||||
progAAddrs = new Address[0];
|
progAAddrs = new Address[0];
|
||||||
progBAddrs = new Address[0];
|
progBAddrs = new Address[0];
|
||||||
|
|
|
@ -1515,7 +1515,6 @@ public abstract class GhidraScript extends FlatProgramAPI {
|
||||||
* <li>In the headless environment this method will set the {@link #currentSelection}
|
* <li>In the headless environment this method will set the {@link #currentSelection}
|
||||||
* variable to the given value and update the GhidraState's selection variable.</li>
|
* variable to the given value and update the GhidraState's selection variable.</li>
|
||||||
* </ol>
|
* </ol>
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param addressSet the set of addresses to include in the selection. If this value is null,
|
* @param addressSet the set of addresses to include in the selection. If this value is null,
|
||||||
* the current selection will be cleared and the variables set to null.
|
* the current selection will be cleared and the variables set to null.
|
||||||
|
@ -1558,7 +1557,6 @@ public abstract class GhidraScript extends FlatProgramAPI {
|
||||||
* <li>In the headless environment this method will set the {@link #currentHighlight}
|
* <li>In the headless environment this method will set the {@link #currentHighlight}
|
||||||
* variable to the given value and update the GhidraState's highlight variable.</li>
|
* variable to the given value and update the GhidraState's highlight variable.</li>
|
||||||
* </ol>
|
* </ol>
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param addressSet the set of addresses to include in the highlight. If this value is null,
|
* @param addressSet the set of addresses to include in the highlight. If this value is null,
|
||||||
* the current highlight will be cleared and the variables set to null.
|
* the current highlight will be cleared and the variables set to null.
|
||||||
|
@ -2986,7 +2984,6 @@ public abstract class GhidraScript extends FlatProgramAPI {
|
||||||
* <p>
|
* <p>
|
||||||
* Note that in both headless and GUI modes, you may specify "PI" or "E" and get the
|
* Note that in both headless and GUI modes, you may specify "PI" or "E" and get the
|
||||||
* corresponding floating point value to 15 decimal places.
|
* corresponding floating point value to 15 decimal places.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param title the title of the dialog (in GUI mode) or the first part of the variable name
|
* @param title the title of the dialog (in GUI mode) or the first part of the variable name
|
||||||
* (in headless mode or when using .properties file)
|
* (in headless mode or when using .properties file)
|
||||||
|
|
|
@ -37,7 +37,6 @@ import ghidra.program.model.listing.Program;
|
||||||
* Navigation Margin. The higher the priority, the more likely the marker/bar will be displayed on
|
* Navigation Margin. The higher the priority, the more likely the marker/bar will be displayed on
|
||||||
* the top. Areas will always be lower than marker priorities.
|
* the top. Areas will always be lower than marker priorities.
|
||||||
* </p>
|
* </p>
|
||||||
* <a name="usage"></a> <u>Recommended Usage</u><br>
|
|
||||||
* <u>Recommended Usage</u><br>
|
* <u>Recommended Usage</u><br>
|
||||||
* The service used to work independently of {@link Program}s. In order to work effectively this
|
* The service used to work independently of {@link Program}s. In order to work effectively this
|
||||||
* service has been changed to associate created markers with individual programs. Thus, it is up to
|
* service has been changed to associate created markers with individual programs. Thus, it is up to
|
||||||
|
|
|
@ -80,7 +80,6 @@ public class BinaryReader {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads and returns an object from the current position in the specified input stream.
|
* Reads and returns an object from the current position in the specified input stream.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param <T> the type of object that will be returned
|
* @param <T> the type of object that will be returned
|
||||||
*/
|
*/
|
||||||
|
@ -579,7 +578,6 @@ public class BinaryReader {
|
||||||
* advancing the current index by the length of the string that was found.
|
* advancing the current index by the length of the string that was found.
|
||||||
* <p>
|
* <p>
|
||||||
* Note: this method no longer trims() the returned String.
|
* Note: this method no longer trims() the returned String.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @return the US-ASCII string at the current index
|
* @return the US-ASCII string at the current index
|
||||||
* @exception IOException if an I/O error occurs
|
* @exception IOException if an I/O error occurs
|
||||||
|
@ -596,7 +594,7 @@ public class BinaryReader {
|
||||||
* a string from a fixed length field that is padded with trailing null chars)
|
* a string from a fixed length field that is padded with trailing null chars)
|
||||||
* <p>
|
* <p>
|
||||||
* Note: this method no longer trims() the returned String.
|
* Note: this method no longer trims() the returned String.
|
||||||
* <p>
|
*
|
||||||
* @param length number of bytes to read
|
* @param length number of bytes to read
|
||||||
* @return the US-ASCII string at the current index
|
* @return the US-ASCII string at the current index
|
||||||
*/
|
*/
|
||||||
|
@ -607,7 +605,6 @@ public class BinaryReader {
|
||||||
/**
|
/**
|
||||||
* Reads a null-terminated UTF-16 Unicode string at the current index,
|
* Reads a null-terminated UTF-16 Unicode string at the current index,
|
||||||
* advancing the current index by the length of the string that was found.
|
* advancing the current index by the length of the string that was found.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @return UTF-16 string at the current index
|
* @return UTF-16 string at the current index
|
||||||
* @exception IOException if an I/O error occurs
|
* @exception IOException if an I/O error occurs
|
||||||
|
@ -619,7 +616,6 @@ public class BinaryReader {
|
||||||
/**
|
/**
|
||||||
* Reads a fixed length UTF-16 Unicode string at the current index,
|
* Reads a fixed length UTF-16 Unicode string at the current index,
|
||||||
* advancing the current index by the length of the string that was found.
|
* advancing the current index by the length of the string that was found.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param charCount number of UTF-16 characters to read (not bytes)
|
* @param charCount number of UTF-16 characters to read (not bytes)
|
||||||
* @return the UTF-16 Unicode string at the current index
|
* @return the UTF-16 Unicode string at the current index
|
||||||
|
@ -632,7 +628,6 @@ public class BinaryReader {
|
||||||
/**
|
/**
|
||||||
* Reads a null-terminated UTF-8 string at the current index,
|
* Reads a null-terminated UTF-8 string at the current index,
|
||||||
* advancing the current index by the length of the string that was found.
|
* advancing the current index by the length of the string that was found.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @return UTF-8 string at the current index
|
* @return UTF-8 string at the current index
|
||||||
* @exception IOException if an I/O error occurs
|
* @exception IOException if an I/O error occurs
|
||||||
|
@ -644,7 +639,6 @@ public class BinaryReader {
|
||||||
/**
|
/**
|
||||||
* Reads a fixed length UTF-8 string the current index,
|
* Reads a fixed length UTF-8 string the current index,
|
||||||
* advancing the current index by the length of the string that was found.
|
* advancing the current index by the length of the string that was found.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param length number of bytes to read
|
* @param length number of bytes to read
|
||||||
* @return the UTF-8 string at the current index
|
* @return the UTF-8 string at the current index
|
||||||
|
@ -658,7 +652,7 @@ public class BinaryReader {
|
||||||
* Reads a null terminated string starting at the current index,
|
* Reads a null terminated string starting at the current index,
|
||||||
* using a specific {@link Charset}, advancing the current index by the length of
|
* using a specific {@link Charset}, advancing the current index by the length of
|
||||||
* the string that was found.
|
* the string that was found.
|
||||||
* <p>
|
*
|
||||||
* @param charset {@link Charset}, see {@link StandardCharsets}
|
* @param charset {@link Charset}, see {@link StandardCharsets}
|
||||||
* @param charLen number of bytes in each character
|
* @param charLen number of bytes in each character
|
||||||
* @return the string
|
* @return the string
|
||||||
|
@ -679,7 +673,7 @@ public class BinaryReader {
|
||||||
* <p>
|
* <p>
|
||||||
* Trailing null terminator characters will be removed. (suitable for reading
|
* Trailing null terminator characters will be removed. (suitable for reading
|
||||||
* a string from a fixed length field that is padded with trailing null chars)
|
* a string from a fixed length field that is padded with trailing null chars)
|
||||||
* <p>
|
*
|
||||||
* @param charCount the number of charLen character elements to read
|
* @param charCount the number of charLen character elements to read
|
||||||
* @param charset {@link Charset}, see {@link StandardCharsets}
|
* @param charset {@link Charset}, see {@link StandardCharsets}
|
||||||
* @param charLen number of bytes in each character
|
* @param charLen number of bytes in each character
|
||||||
|
@ -851,7 +845,6 @@ public class BinaryReader {
|
||||||
* the first null character.
|
* the first null character.
|
||||||
* <p>
|
* <p>
|
||||||
* Note: this method no longer trims() the returned String.
|
* Note: this method no longer trims() the returned String.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param index starting position of the string
|
* @param index starting position of the string
|
||||||
* @return US-ASCII string, excluding the trailing null terminator character
|
* @return US-ASCII string, excluding the trailing null terminator character
|
||||||
|
@ -868,7 +861,7 @@ public class BinaryReader {
|
||||||
* a string from a fixed length field that is padded with trailing null chars)
|
* a string from a fixed length field that is padded with trailing null chars)
|
||||||
* <p>
|
* <p>
|
||||||
* Note: this method no longer trims() the returned String.
|
* Note: this method no longer trims() the returned String.
|
||||||
* <p>
|
*
|
||||||
* @param index where the string begins
|
* @param index where the string begins
|
||||||
* @param length number of bytes to read
|
* @param length number of bytes to read
|
||||||
* @return the US-ASCII string
|
* @return the US-ASCII string
|
||||||
|
@ -883,7 +876,7 @@ public class BinaryReader {
|
||||||
* the pre-specified {@link #setLittleEndian(boolean) endianness}.
|
* the pre-specified {@link #setLittleEndian(boolean) endianness}.
|
||||||
* <p>
|
* <p>
|
||||||
* The end of the string is denoted by a two-byte (ie. short) <code>null</code> character.
|
* The end of the string is denoted by a two-byte (ie. short) <code>null</code> character.
|
||||||
* <p>
|
*
|
||||||
* @param index where the UTF-16 Unicode string begins
|
* @param index where the UTF-16 Unicode string begins
|
||||||
* @return the UTF-16 Unicode string
|
* @return the UTF-16 Unicode string
|
||||||
* @exception IOException if an I/O error occurs
|
* @exception IOException if an I/O error occurs
|
||||||
|
@ -899,7 +892,7 @@ public class BinaryReader {
|
||||||
* <p>
|
* <p>
|
||||||
* Trailing null terminator characters will be removed. (suitable for reading
|
* Trailing null terminator characters will be removed. (suitable for reading
|
||||||
* a string from a fixed length field that is padded with trailing null chars)
|
* a string from a fixed length field that is padded with trailing null chars)
|
||||||
* <p>
|
*
|
||||||
* @param index the index where the UTF-16 Unicode string begins
|
* @param index the index where the UTF-16 Unicode string begins
|
||||||
* @param charCount the number of UTF-16 character elements to read.
|
* @param charCount the number of UTF-16 character elements to read.
|
||||||
* @return the UTF-16 Unicode string
|
* @return the UTF-16 Unicode string
|
||||||
|
@ -911,7 +904,7 @@ public class BinaryReader {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads a null-terminated UTF-8 string starting at <code>index</code>.
|
* Reads a null-terminated UTF-8 string starting at <code>index</code>.
|
||||||
* <p>
|
*
|
||||||
* @param index where the UTF-8 string begins
|
* @param index where the UTF-8 string begins
|
||||||
* @return the string
|
* @return the string
|
||||||
* @exception IOException if an I/O error occurs
|
* @exception IOException if an I/O error occurs
|
||||||
|
@ -926,7 +919,7 @@ public class BinaryReader {
|
||||||
* <p>
|
* <p>
|
||||||
* Trailing null terminator characters will be removed. (suitable for reading
|
* Trailing null terminator characters will be removed. (suitable for reading
|
||||||
* a string from a fixed length field that is padded with trailing null chars)
|
* a string from a fixed length field that is padded with trailing null chars)
|
||||||
* <p>
|
*
|
||||||
* @param index the index where the UTF-8 string begins
|
* @param index the index where the UTF-8 string begins
|
||||||
* @param length the number of bytes to read
|
* @param length the number of bytes to read
|
||||||
* @return the string
|
* @return the string
|
||||||
|
@ -942,7 +935,7 @@ public class BinaryReader {
|
||||||
* <p>
|
* <p>
|
||||||
* Trailing null terminator characters will be removed. (suitable for reading
|
* Trailing null terminator characters will be removed. (suitable for reading
|
||||||
* a string from a fixed length field that is padded with trailing null chars)
|
* a string from a fixed length field that is padded with trailing null chars)
|
||||||
* <p>
|
*
|
||||||
* @param index the index where the string begins
|
* @param index the index where the string begins
|
||||||
* @param charCount the number of charLen character elements to read
|
* @param charCount the number of charLen character elements to read
|
||||||
* @param charset {@link Charset}, see {@link StandardCharsets}
|
* @param charset {@link Charset}, see {@link StandardCharsets}
|
||||||
|
@ -965,7 +958,7 @@ public class BinaryReader {
|
||||||
/**
|
/**
|
||||||
* Reads a null-terminated string starting at <code>index</code>, using a specific
|
* Reads a null-terminated string starting at <code>index</code>, using a specific
|
||||||
* {@link Charset}.
|
* {@link Charset}.
|
||||||
* <p>
|
*
|
||||||
* @param index where the string begins
|
* @param index where the string begins
|
||||||
* @param charset {@link Charset}, see {@link StandardCharsets}
|
* @param charset {@link Charset}, see {@link StandardCharsets}
|
||||||
* @param charLen number of bytes in each character
|
* @param charLen number of bytes in each character
|
||||||
|
|
|
@ -30,14 +30,13 @@ public class ByteProviderInputStream extends InputStream {
|
||||||
* An {@link InputStream} that reads from a {@link ByteProvider}, and <b>DOES</b>
|
* An {@link InputStream} that reads from a {@link ByteProvider}, and <b>DOES</b>
|
||||||
* {@link ByteProvider#close() close()} the underlying ByteProvider when
|
* {@link ByteProvider#close() close()} the underlying ByteProvider when
|
||||||
* closed itself.
|
* closed itself.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public static class ClosingInputStream extends ByteProviderInputStream {
|
public static class ClosingInputStream extends ByteProviderInputStream {
|
||||||
/**
|
/**
|
||||||
* Creates an {@link InputStream} that reads from a {@link ByteProvider}, that
|
* Creates an {@link InputStream} that reads from a {@link ByteProvider}, that
|
||||||
* <b>DOES</b> {@link ByteProvider#close() close()} the underlying ByteProvider when
|
* <b>DOES</b> {@link ByteProvider#close() close()} the underlying ByteProvider when
|
||||||
* closed itself.
|
* closed itself.
|
||||||
* <p>
|
*
|
||||||
* @param provider the {@link ByteProvider} to read from (and close)
|
* @param provider the {@link ByteProvider} to read from (and close)
|
||||||
*/
|
*/
|
||||||
public ClosingInputStream(ByteProvider provider) {
|
public ClosingInputStream(ByteProvider provider) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class ByteProviderPaddedInputStream extends InputStream {
|
||||||
* The source ByteProvider is not closed when this stream is closed.
|
* The source ByteProvider is not closed when this stream is closed.
|
||||||
* <p>
|
* <p>
|
||||||
* The total number of bytes that can be read from this instance will be length + padCount.
|
* The total number of bytes that can be read from this instance will be length + padCount.
|
||||||
* <p>
|
*
|
||||||
* @param provider the {@link ByteProvider} to wrap.
|
* @param provider the {@link ByteProvider} to wrap.
|
||||||
* @param startOffset the starting offset in the ByteProvider.
|
* @param startOffset the starting offset in the ByteProvider.
|
||||||
* @param length the number of bytes from the {@link ByteProvider} to allow to be read by this InputStream.
|
* @param length the number of bytes from the {@link ByteProvider} to allow to be read by this InputStream.
|
||||||
|
|
|
@ -33,7 +33,6 @@ public class ByteProviderWrapper implements ByteProvider {
|
||||||
/**
|
/**
|
||||||
* Creates a wrapper around a {@link ByteProvider} that contains the same bytes as the specified
|
* Creates a wrapper around a {@link ByteProvider} that contains the same bytes as the specified
|
||||||
* provider, but with a new {@link FSRL} identity.
|
* provider, but with a new {@link FSRL} identity.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param provider {@link ByteProvider} to wrap
|
* @param provider {@link ByteProvider} to wrap
|
||||||
* @param fsrl {@link FSRL} identity for the instance
|
* @param fsrl {@link FSRL} identity for the instance
|
||||||
|
|
|
@ -135,7 +135,6 @@ public class FileByteProvider implements MutableByteProvider {
|
||||||
* Read bytes at the specified index into the given byte array.
|
* Read bytes at the specified index into the given byte array.
|
||||||
* <p>
|
* <p>
|
||||||
* See {@link InputStream#read(byte[], int, int)}.
|
* See {@link InputStream#read(byte[], int, int)}.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param index file offset to start reading
|
* @param index file offset to start reading
|
||||||
* @param buffer byte array that will receive the bytes
|
* @param buffer byte array that will receive the bytes
|
||||||
|
|
|
@ -55,7 +55,6 @@ public class GhidraRandomAccessFile implements AutoCloseable {
|
||||||
* <p>
|
* <p>
|
||||||
* This implementation relies on java.net.RandomAccessFile,
|
* This implementation relies on java.net.RandomAccessFile,
|
||||||
* but adds buffering to limit the amount.
|
* but adds buffering to limit the amount.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* <a id="mode"></a><p> The <code>mode</code> argument specifies the access mode
|
* <a id="mode"></a><p> The <code>mode</code> argument specifies the access mode
|
||||||
* in which the file is to be opened. The permitted values and their
|
* in which the file is to be opened. The permitted values and their
|
||||||
|
|
|
@ -24,7 +24,6 @@ import java.io.*;
|
||||||
* <p>
|
* <p>
|
||||||
* In other words, this {@link ByteProvider} can only be used to read data at ever increasing
|
* In other words, this {@link ByteProvider} can only be used to read data at ever increasing
|
||||||
* offsets.
|
* offsets.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class InputStreamByteProvider implements ByteProvider {
|
public class InputStreamByteProvider implements ByteProvider {
|
||||||
private InputStream inputStream;
|
private InputStream inputStream;
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class LEB128Info {
|
||||||
/**
|
/**
|
||||||
* Reads an unsigned LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
|
* Reads an unsigned LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
|
||||||
* that contains the value along with size and position metadata.
|
* that contains the value along with size and position metadata.
|
||||||
* <p>
|
*
|
||||||
* @param reader {@link BinaryReader} to read bytes from
|
* @param reader {@link BinaryReader} to read bytes from
|
||||||
* @return a {@link LEB128Info} instance with the read LEB128 value with metadata
|
* @return a {@link LEB128Info} instance with the read LEB128 value with metadata
|
||||||
* @throws IOException if an I/O error occurs or value is outside the range of a java
|
* @throws IOException if an I/O error occurs or value is outside the range of a java
|
||||||
|
@ -40,7 +40,7 @@ public class LEB128Info {
|
||||||
/**
|
/**
|
||||||
* Reads an signed LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
|
* Reads an signed LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
|
||||||
* that contains the value along with size and position metadata.
|
* that contains the value along with size and position metadata.
|
||||||
* <p>
|
*
|
||||||
* @param reader {@link BinaryReader} to read bytes from
|
* @param reader {@link BinaryReader} to read bytes from
|
||||||
* @return a {@link LEB128Info} instance with the read LEB128 value with metadata
|
* @return a {@link LEB128Info} instance with the read LEB128 value with metadata
|
||||||
* @throws IOException if an I/O error occurs or value is outside the range of a java
|
* @throws IOException if an I/O error occurs or value is outside the range of a java
|
||||||
|
@ -125,7 +125,7 @@ public class LEB128Info {
|
||||||
/**
|
/**
|
||||||
* Reads a LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
|
* Reads a LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
|
||||||
* that contains the value along with size and position metadata.
|
* that contains the value along with size and position metadata.
|
||||||
* <p>
|
*
|
||||||
* @param reader {@link BinaryReader} to read bytes from
|
* @param reader {@link BinaryReader} to read bytes from
|
||||||
* @param isSigned true if the value is signed
|
* @param isSigned true if the value is signed
|
||||||
* @return a {@link LEB128Info} instance with the read LEB128 value with metadata
|
* @return a {@link LEB128Info} instance with the read LEB128 value with metadata
|
||||||
|
|
|
@ -104,7 +104,6 @@ public class MemoryByteProvider implements ByteProvider {
|
||||||
* Constructs a new {@link MemoryByteProvider} for a specific {@link AddressSpace}. Bytes
|
* Constructs a new {@link MemoryByteProvider} for a specific {@link AddressSpace}. Bytes
|
||||||
* will be provided relative to the minimum address (typically 0) in the space, and ranges
|
* will be provided relative to the minimum address (typically 0) in the space, and ranges
|
||||||
* to the highest address in the same address space currently found in the memory map.
|
* to the highest address in the same address space currently found in the memory map.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param memory the {@link Memory}
|
* @param memory the {@link Memory}
|
||||||
|
|
|
@ -30,7 +30,7 @@ import ghidra.util.Msg;
|
||||||
* {@link ArrayIndexOutOfBoundsException}s.
|
* {@link ArrayIndexOutOfBoundsException}s.
|
||||||
* <p>
|
* <p>
|
||||||
* See {@link SynchronizedByteProvider} as a solution.
|
* See {@link SynchronizedByteProvider} as a solution.
|
||||||
* <p>
|
*
|
||||||
* @deprecated See {@link FileByteProvider} as replacement ByteProvider.
|
* @deprecated See {@link FileByteProvider} as replacement ByteProvider.
|
||||||
*/
|
*/
|
||||||
@Deprecated(since = "10.1", forRemoval = true)
|
@Deprecated(since = "10.1", forRemoval = true)
|
||||||
|
|
|
@ -177,7 +177,6 @@ public class RangeMappedByteProvider implements ByteProvider {
|
||||||
* Read bytes at the specified index into the given byte array.
|
* Read bytes at the specified index into the given byte array.
|
||||||
* <p>
|
* <p>
|
||||||
* See {@link InputStream#read(byte[], int, int)}.
|
* See {@link InputStream#read(byte[], int, int)}.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param index file offset to start reading
|
* @param index file offset to start reading
|
||||||
* @param buffer byte array that will receive the bytes
|
* @param buffer byte array that will receive the bytes
|
||||||
|
|
|
@ -30,7 +30,6 @@ public class UnlimitedByteProviderWrapper extends ByteProviderWrapper {
|
||||||
/**
|
/**
|
||||||
* Creates a wrapper around a {@link ByteProvider} that contains the same bytes as the specified
|
* Creates a wrapper around a {@link ByteProvider} that contains the same bytes as the specified
|
||||||
* provider.
|
* provider.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param provider {@link ByteProvider} to wrap
|
* @param provider {@link ByteProvider} to wrap
|
||||||
* @throws IOException if error
|
* @throws IOException if error
|
||||||
|
@ -42,7 +41,6 @@ public class UnlimitedByteProviderWrapper extends ByteProviderWrapper {
|
||||||
/**
|
/**
|
||||||
* Creates a wrapper around a {@link ByteProvider} that contains the same bytes as the specified
|
* Creates a wrapper around a {@link ByteProvider} that contains the same bytes as the specified
|
||||||
* provider, but with a new {@link FSRL} identity.
|
* provider, but with a new {@link FSRL} identity.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param provider {@link ByteProvider} to wrap
|
* @param provider {@link ByteProvider} to wrap
|
||||||
* @param fsrl {@link FSRL} identity for the instance
|
* @param fsrl {@link FSRL} identity for the instance
|
||||||
|
|
|
@ -41,7 +41,7 @@ public final class CoffArchiveHeader implements StructConverter {
|
||||||
/**
|
/**
|
||||||
* Returns true if the data contained in the {@link ByteProvider provider} contains
|
* Returns true if the data contained in the {@link ByteProvider provider} contains
|
||||||
* a COFF Archive file.
|
* a COFF Archive file.
|
||||||
* <p>
|
*
|
||||||
* @param provider
|
* @param provider
|
||||||
* @return
|
* @return
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
|
@ -56,7 +56,7 @@ public final class CoffArchiveHeader implements StructConverter {
|
||||||
* <p>
|
* <p>
|
||||||
* Returns a {@link CoffArchiveHeader} that has a list of the
|
* Returns a {@link CoffArchiveHeader} that has a list of the
|
||||||
* {@link CoffArchiveMemberHeader members} in the archive.
|
* {@link CoffArchiveMemberHeader members} in the archive.
|
||||||
* <p>
|
*
|
||||||
* @param provider
|
* @param provider
|
||||||
* @param monitor
|
* @param monitor
|
||||||
* @return
|
* @return
|
||||||
|
|
|
@ -20,7 +20,6 @@ import java.io.IOException;
|
||||||
import ghidra.app.util.bin.*;
|
import ghidra.app.util.bin.*;
|
||||||
import ghidra.program.model.data.*;
|
import ghidra.program.model.data.*;
|
||||||
import ghidra.util.Msg;
|
import ghidra.util.Msg;
|
||||||
import ghidra.util.StringUtilities;
|
|
||||||
import ghidra.util.exception.DuplicateNameException;
|
import ghidra.util.exception.DuplicateNameException;
|
||||||
|
|
||||||
public class CoffArchiveMemberHeader implements StructConverter {
|
public class CoffArchiveMemberHeader implements StructConverter {
|
||||||
|
@ -58,7 +57,7 @@ public class CoffArchiveMemberHeader implements StructConverter {
|
||||||
* <p>
|
* <p>
|
||||||
* The archive member's name is fixed up using the specified {@link LongNamesMember longNames}
|
* The archive member's name is fixed up using the specified {@link LongNamesMember longNames}
|
||||||
* object.
|
* object.
|
||||||
* <p>
|
*
|
||||||
* @param reader stream from which to read the COFF archive member header from
|
* @param reader stream from which to read the COFF archive member header from
|
||||||
* @param longNames optional, string table with long file names (only present in some
|
* @param longNames optional, string table with long file names (only present in some
|
||||||
* COFF ar formats)
|
* COFF ar formats)
|
||||||
|
|
|
@ -70,7 +70,7 @@ public class DIEAggregate {
|
||||||
* <p>
|
* <p>
|
||||||
* DW_AT_abstract_origin and DW_AT_specification attributes are followed to find the previous
|
* DW_AT_abstract_origin and DW_AT_specification attributes are followed to find the previous
|
||||||
* {@link DebugInfoEntry} instances.
|
* {@link DebugInfoEntry} instances.
|
||||||
* <p>
|
*
|
||||||
* @param die starting DIE record
|
* @param die starting DIE record
|
||||||
* @return new {@link DIEAggregate} made up of the starting DIE and all DIEs that it points
|
* @return new {@link DIEAggregate} made up of the starting DIE and all DIEs that it points
|
||||||
* to via abstract_origin and spec attributes.
|
* to via abstract_origin and spec attributes.
|
||||||
|
@ -131,7 +131,7 @@ public class DIEAggregate {
|
||||||
* <p>
|
* <p>
|
||||||
* Mainly useful early in the {@link DWARFCompilationUnit}'s bootstrapping process
|
* Mainly useful early in the {@link DWARFCompilationUnit}'s bootstrapping process
|
||||||
* when it needs to read values from DIEs.
|
* when it needs to read values from DIEs.
|
||||||
* <p>
|
*
|
||||||
* @param die {@link DebugInfoEntry}
|
* @param die {@link DebugInfoEntry}
|
||||||
* @return {@link DIEAggregate} containing a single DIE
|
* @return {@link DIEAggregate} containing a single DIE
|
||||||
*/
|
*/
|
||||||
|
@ -318,7 +318,6 @@ public class DIEAggregate {
|
||||||
* <p>
|
* <p>
|
||||||
* Attributes are searched for in each fragment in this aggregate, starting with the
|
* Attributes are searched for in each fragment in this aggregate, starting with the
|
||||||
* 'head' fragment, progressing toward the 'decl' fragment.
|
* 'head' fragment, progressing toward the 'decl' fragment.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param attribute See {@link DWARFAttribute}
|
* @param attribute See {@link DWARFAttribute}
|
||||||
* @param clazz must be derived from {@link DWARFAttributeValue}
|
* @param clazz must be derived from {@link DWARFAttributeValue}
|
||||||
|
@ -337,7 +336,6 @@ public class DIEAggregate {
|
||||||
* <p>
|
* <p>
|
||||||
* Attributes are searched for in each fragment in this aggregate, starting with the
|
* Attributes are searched for in each fragment in this aggregate, starting with the
|
||||||
* 'head' fragment, progressing toward the 'decl' fragment.
|
* 'head' fragment, progressing toward the 'decl' fragment.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param attribute See {@link DWARFAttribute}
|
* @param attribute See {@link DWARFAttribute}
|
||||||
* @return DWARFAttributeValue, or null if not found
|
* @return DWARFAttributeValue, or null if not found
|
||||||
|
@ -362,7 +360,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns the boolean value of the requested attribute, or -defaultValue- if
|
* Returns the boolean value of the requested attribute, or -defaultValue- if
|
||||||
* the attribute is missing or not the correct type.
|
* the attribute is missing or not the correct type.
|
||||||
* <p>
|
*
|
||||||
* @param attribute {@link DWARFAttribute} id
|
* @param attribute {@link DWARFAttribute} id
|
||||||
* @param defaultValue value to return if attribute is not present
|
* @param defaultValue value to return if attribute is not present
|
||||||
* @return boolean value, or the defaultValue if attribute is not present
|
* @return boolean value, or the defaultValue if attribute is not present
|
||||||
|
@ -375,7 +373,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns the string value of the requested attribute, or -defaultValue- if
|
* Returns the string value of the requested attribute, or -defaultValue- if
|
||||||
* the attribute is missing or not the correct type.
|
* the attribute is missing or not the correct type.
|
||||||
* <p>
|
*
|
||||||
* @param attribute {@link DWARFAttribute} id
|
* @param attribute {@link DWARFAttribute} id
|
||||||
* @param defaultValue value to return if attribute is not present
|
* @param defaultValue value to return if attribute is not present
|
||||||
* @return String value, or the defaultValue if attribute is not present
|
* @return String value, or the defaultValue if attribute is not present
|
||||||
|
@ -391,7 +389,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns the string value of the {@link DWARFAttribute#DW_AT_name dw_at_name} attribute,
|
* Returns the string value of the {@link DWARFAttribute#DW_AT_name dw_at_name} attribute,
|
||||||
* or null if it is missing.
|
* or null if it is missing.
|
||||||
* <p>
|
*
|
||||||
* @return name of this DIE aggregate, or null if missing
|
* @return name of this DIE aggregate, or null if missing
|
||||||
*/
|
*/
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
@ -435,7 +433,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns the {@link DIEAggregate diea} instance pointed to by the requested attribute,
|
* Returns the {@link DIEAggregate diea} instance pointed to by the requested attribute,
|
||||||
* or null if the attribute does not exist.
|
* or null if the attribute does not exist.
|
||||||
* <p>
|
*
|
||||||
* @param attribute {@link DWARFAttribute} id
|
* @param attribute {@link DWARFAttribute} id
|
||||||
* @return {@link DIEAggregate}, or the null if attribute is not present
|
* @return {@link DIEAggregate}, or the null if attribute is not present
|
||||||
*/
|
*/
|
||||||
|
@ -484,7 +482,7 @@ public class DIEAggregate {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a list of children that are of a specific DWARF type.
|
* Return a list of children that are of a specific DWARF type.
|
||||||
* <p>
|
*
|
||||||
* @param childTag see {@link DWARFTag DWARFTag DW_TAG_* values}
|
* @param childTag see {@link DWARFTag DWARFTag DW_TAG_* values}
|
||||||
* @return List of children DIEs that match the specified tag
|
* @return List of children DIEs that match the specified tag
|
||||||
*/
|
*/
|
||||||
|
@ -527,7 +525,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns the signed integer value of the requested attribute after resolving
|
* Returns the signed integer value of the requested attribute after resolving
|
||||||
* any DWARF expression opcodes.
|
* any DWARF expression opcodes.
|
||||||
* <p>
|
*
|
||||||
* @param attribute {@link DWARFAttribute} id
|
* @param attribute {@link DWARFAttribute} id
|
||||||
* @param defaultValue value to return if attribute is not present
|
* @param defaultValue value to return if attribute is not present
|
||||||
* @return int value, or the defaultValue if attribute is not present
|
* @return int value, or the defaultValue if attribute is not present
|
||||||
|
@ -560,7 +558,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns the unsigned integer value of the requested attribute after resolving
|
* Returns the unsigned integer value of the requested attribute after resolving
|
||||||
* any DWARF expression opcodes.
|
* any DWARF expression opcodes.
|
||||||
* <p>
|
*
|
||||||
* @param attribute {@link DWARFAttribute} id
|
* @param attribute {@link DWARFAttribute} id
|
||||||
* @param defaultValue value to return if attribute is not present
|
* @param defaultValue value to return if attribute is not present
|
||||||
* @return unsigned long value, or the defaultValue if attribute is not present
|
* @return unsigned long value, or the defaultValue if attribute is not present
|
||||||
|
@ -673,7 +671,7 @@ public class DIEAggregate {
|
||||||
/**
|
/**
|
||||||
* Returns true if this DIE has a DW_AT_declaration attribute and
|
* Returns true if this DIE has a DW_AT_declaration attribute and
|
||||||
* does NOT have a matching inbound DW_AT_specification reference.
|
* does NOT have a matching inbound DW_AT_specification reference.
|
||||||
* <p>
|
*
|
||||||
* @return boolean true if this DIE has a DW_AT_declaration attribute and
|
* @return boolean true if this DIE has a DW_AT_declaration attribute and
|
||||||
* does NOT have a matching inbound DW_AT_specification reference
|
* does NOT have a matching inbound DW_AT_specification reference
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -34,7 +34,6 @@ import ghidra.util.task.TaskMonitor;
|
||||||
* The first DIE record must be a DW_TAG_compile_unit.
|
* The first DIE record must be a DW_TAG_compile_unit.
|
||||||
* <p>
|
* <p>
|
||||||
* DIE records are identified by their byte offset in the .debug_info section.
|
* DIE records are identified by their byte offset in the .debug_info section.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class DWARFCompilationUnit extends DWARFUnitHeader {
|
public class DWARFCompilationUnit extends DWARFUnitHeader {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -36,7 +36,6 @@ import ghidra.util.SystemUtilities;
|
||||||
* <p>
|
* <p>
|
||||||
* When a candidate data type is matched with an existing data type, this
|
* When a candidate data type is matched with an existing data type, this
|
||||||
* conflict handler will specify that the new data type is:
|
* conflict handler will specify that the new data type is:
|
||||||
* <p>
|
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>discarded and replaced by the existing data type
|
* <li>discarded and replaced by the existing data type
|
||||||
* ({@link ConflictResult#USE_EXISTING})</li>
|
* ({@link ConflictResult#USE_EXISTING})</li>
|
||||||
|
@ -45,7 +44,6 @@ import ghidra.util.SystemUtilities;
|
||||||
* </ul>
|
* </ul>
|
||||||
* or the candidate data type was <b>NOT</b> matched with an existing data type,
|
* or the candidate data type was <b>NOT</b> matched with an existing data type,
|
||||||
* and the new data type is:
|
* and the new data type is:
|
||||||
* <p>
|
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>kept, but renamed with a .conflictNNNN suffix to make it unique
|
* <li>kept, but renamed with a .conflictNNNN suffix to make it unique
|
||||||
* ({@link ConflictResult#RENAME_AND_ADD})</li>
|
* ({@link ConflictResult#RENAME_AND_ADD})</li>
|
||||||
|
@ -147,7 +145,7 @@ public class DWARFDataTypeConflictHandler extends DataTypeConflictHandler {
|
||||||
* <p> Each defined component in the candidate partial structure must be present
|
* <p> Each defined component in the candidate partial structure must be present
|
||||||
* in the 'full' structure and must be equiv. <p> The order and sparseness of
|
* in the 'full' structure and must be equiv. <p> The order and sparseness of
|
||||||
* the candidate partial structure is not important, only that all of its
|
* the candidate partial structure is not important, only that all of its
|
||||||
* defined components are present in the full structure. <p>
|
* defined components are present in the full structure.
|
||||||
*/
|
*/
|
||||||
private boolean isStructurePart(Structure full, Structure part, Set<Long> visitedDataTypes) {
|
private boolean isStructurePart(Structure full, Structure part, Set<Long> visitedDataTypes) {
|
||||||
// Both structures should be equal in length
|
// Both structures should be equal in length
|
||||||
|
|
|
@ -42,7 +42,6 @@ import ghidra.util.exception.InvalidInputException;
|
||||||
* <p>
|
* <p>
|
||||||
* Create a new instance of this class for each {@link DIEAggregate} datatype that you wish
|
* Create a new instance of this class for each {@link DIEAggregate} datatype that you wish
|
||||||
* to convert into a DataType.
|
* to convert into a DataType.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class DWARFDataTypeImporter {
|
public class DWARFDataTypeImporter {
|
||||||
private DWARFProgram prog;
|
private DWARFProgram prog;
|
||||||
|
@ -344,7 +343,7 @@ public class DWARFDataTypeImporter {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the corresponding Ghidra base type.
|
* Gets the corresponding Ghidra base type.
|
||||||
* <p>
|
*
|
||||||
* @param diea
|
* @param diea
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
* @throws DWARFExpressionException
|
* @throws DWARFExpressionException
|
||||||
|
@ -401,7 +400,7 @@ public class DWARFDataTypeImporter {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple passthru, returns whatever type this "const" modifier applies to.
|
* Simple passthru, returns whatever type this "const" modifier applies to.
|
||||||
* <p>
|
*
|
||||||
* @param diea
|
* @param diea
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
* @throws DWARFExpressionException
|
* @throws DWARFExpressionException
|
||||||
|
@ -424,7 +423,6 @@ public class DWARFDataTypeImporter {
|
||||||
* <p>
|
* <p>
|
||||||
* This method takes liberties with the normal{@literal DWARF->Ghidra Impl DataType->Ghidra DB DataType}
|
* This method takes liberties with the normal{@literal DWARF->Ghidra Impl DataType->Ghidra DB DataType}
|
||||||
* workflow to be able to merge values into previous db enum datatypes.
|
* workflow to be able to merge values into previous db enum datatypes.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param diea
|
* @param diea
|
||||||
* @return
|
* @return
|
||||||
|
|
|
@ -198,7 +198,7 @@ public class DWARFDataTypeManager {
|
||||||
* Returns a Ghidra {@link DataType} corresponding to the specified {@link DIEAggregate},
|
* Returns a Ghidra {@link DataType} corresponding to the specified {@link DIEAggregate},
|
||||||
* or the specified defaultValue if the DIEA param is null or does not map to an already
|
* or the specified defaultValue if the DIEA param is null or does not map to an already
|
||||||
* defined datatype (registered with {@link #addDataType(long, DataType, DWARFSourceInfo)}).
|
* defined datatype (registered with {@link #addDataType(long, DataType, DWARFSourceInfo)}).
|
||||||
* <p>
|
*
|
||||||
* @param diea {@link DIEAggregate} that defines a data type
|
* @param diea {@link DIEAggregate} that defines a data type
|
||||||
* @param defaultValue Ghidra {@link DataType} to return if the specified DIEA is null
|
* @param defaultValue Ghidra {@link DataType} to return if the specified DIEA is null
|
||||||
* or not already defined.
|
* or not already defined.
|
||||||
|
@ -230,7 +230,6 @@ public class DWARFDataTypeManager {
|
||||||
* Returns a Ghidra {@link DataType} corresponding to the specified DIE (based on its
|
* Returns a Ghidra {@link DataType} corresponding to the specified DIE (based on its
|
||||||
* offset), or the specified defaultValue if the DIE does not map to a defined
|
* offset), or the specified defaultValue if the DIE does not map to a defined
|
||||||
* datatype (registered with {@link #addDataType(long, DataType, DWARFSourceInfo)}).
|
* datatype (registered with {@link #addDataType(long, DataType, DWARFSourceInfo)}).
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param dieOffset offset of a DIE record that defines a data type
|
* @param dieOffset offset of a DIE record that defines a data type
|
||||||
* @param defaultValue Ghidra {@link DataType} to return if the specified DIE not already defined.
|
* @param defaultValue Ghidra {@link DataType} to return if the specified DIE not already defined.
|
||||||
|
@ -312,7 +311,7 @@ public class DWARFDataTypeManager {
|
||||||
/**
|
/**
|
||||||
* Returns a Ghidra {@link DataType datatype} that corresponds to a type
|
* Returns a Ghidra {@link DataType datatype} that corresponds to a type
|
||||||
* that can be used to represent an offset.
|
* that can be used to represent an offset.
|
||||||
* <p>
|
*
|
||||||
* @param size
|
* @param size
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ -366,7 +365,7 @@ public class DWARFDataTypeManager {
|
||||||
* <p>
|
* <p>
|
||||||
* Any newly created Ghidra data types will be cached and the same instance will be returned
|
* Any newly created Ghidra data types will be cached and the same instance will be returned
|
||||||
* if the same DWARF named base type is requested again.
|
* if the same DWARF named base type is requested again.
|
||||||
* <p>
|
*
|
||||||
* @param name
|
* @param name
|
||||||
* @param dwarfSize
|
* @param dwarfSize
|
||||||
* @param dwarfEncoding
|
* @param dwarfEncoding
|
||||||
|
@ -672,7 +671,6 @@ public class DWARFDataTypeManager {
|
||||||
/**
|
/**
|
||||||
* Regex to match common fixed-size type names like "int64", "int64_t", etc, by triggering
|
* Regex to match common fixed-size type names like "int64", "int64_t", etc, by triggering
|
||||||
* off some known size designators in the string.
|
* off some known size designators in the string.
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* \D+ ← one or more non-digits
|
* \D+ ← one or more non-digits
|
||||||
* (8|16|32|64|128) ← list of common sizes that we are triggering on
|
* (8|16|32|64|128) ← list of common sizes that we are triggering on
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class DWARFLocationList {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read a v4 {@link DWARFLocationList} from the debug_loc section.
|
* Read a v4 {@link DWARFLocationList} from the debug_loc section.
|
||||||
* <p>
|
*
|
||||||
* @param reader stream positioned at the start of a .debug_loc location list
|
* @param reader stream positioned at the start of a .debug_loc location list
|
||||||
* @param cu the compUnit that refers to the location list
|
* @param cu the compUnit that refers to the location list
|
||||||
* @return list of DWARF locations (address range and location expression)
|
* @return list of DWARF locations (address range and location expression)
|
||||||
|
|
|
@ -26,7 +26,6 @@ import ghidra.program.model.symbol.SymbolType;
|
||||||
/**
|
/**
|
||||||
* A immutable hierarchical path based name implementation that can be viewed as either
|
* A immutable hierarchical path based name implementation that can be viewed as either
|
||||||
* {@link Namespace namespaces} or {@link CategoryPath categorypaths}.
|
* {@link Namespace namespaces} or {@link CategoryPath categorypaths}.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class DWARFName {
|
public class DWARFName {
|
||||||
|
|
||||||
|
@ -246,7 +245,6 @@ public class DWARFName {
|
||||||
/**
|
/**
|
||||||
* Returns true if this instance's {@link #getName() name} value is different
|
* Returns true if this instance's {@link #getName() name} value is different
|
||||||
* than its {@link #getOriginalName() original} form.
|
* than its {@link #getOriginalName() original} form.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @return boolean true if the original name doesn't match the ghidra-ized name
|
* @return boolean true if the original name doesn't match the ghidra-ized name
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -71,7 +71,7 @@ public class DWARFProgram implements Closeable {
|
||||||
* If the program is a MachO binary (Mac), it must have a ".dSYM" directory co-located
|
* If the program is a MachO binary (Mac), it must have a ".dSYM" directory co-located
|
||||||
* next to the original binary file on the native filesystem (outside of Ghidra). See the
|
* next to the original binary file on the native filesystem (outside of Ghidra). See the
|
||||||
* DSymSectionProvider for more info.
|
* DSymSectionProvider for more info.
|
||||||
* <p>
|
*
|
||||||
* @param program {@link Program} to test
|
* @param program {@link Program} to test
|
||||||
* @return boolean true if program probably has DWARF info, false if not
|
* @return boolean true if program probably has DWARF info, false if not
|
||||||
*/
|
*/
|
||||||
|
@ -104,7 +104,6 @@ public class DWARFProgram implements Closeable {
|
||||||
* <p>
|
* <p>
|
||||||
* This is similar to {@link #isDWARF(Program)}, but is a stronger check that is more
|
* This is similar to {@link #isDWARF(Program)}, but is a stronger check that is more
|
||||||
* expensive as it could involve searching for external files.
|
* expensive as it could involve searching for external files.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param program {@link Program} to test
|
* @param program {@link Program} to test
|
||||||
* @param monitor {@link TaskMonitor} that can be used to cancel
|
* @param monitor {@link TaskMonitor} that can be used to cancel
|
||||||
|
@ -1336,7 +1335,7 @@ public class DWARFProgram implements Closeable {
|
||||||
* A fixup value that needs to be applied to static addresses of the program.
|
* A fixup value that needs to be applied to static addresses of the program.
|
||||||
* <p>
|
* <p>
|
||||||
* This value is necessary if the program's built-in base address is overridden at import time.
|
* This value is necessary if the program's built-in base address is overridden at import time.
|
||||||
* <p>
|
*
|
||||||
* @return long value to add to static addresses discovered in DWARF to make it agree with
|
* @return long value to add to static addresses discovered in DWARF to make it agree with
|
||||||
* Ghidra's imported program.
|
* Ghidra's imported program.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -15,11 +15,11 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.dwarf;
|
package ghidra.app.util.bin.format.dwarf;
|
||||||
|
|
||||||
import ghidra.program.model.lang.Register;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import ghidra.program.model.lang.Register;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Immutable mapping information between DWARF and Ghidra.
|
* Immutable mapping information between DWARF and Ghidra.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -30,7 +30,7 @@ import java.util.Map;
|
||||||
* in xml files referenced from the language *.ldefs file in an
|
* in xml files referenced from the language *.ldefs file in an
|
||||||
* <external_name tool="DWARF.register.mapping.file" name="register_mapping_filename_here"/>
|
* <external_name tool="DWARF.register.mapping.file" name="register_mapping_filename_here"/>
|
||||||
* <p>
|
* <p>
|
||||||
* The format is:<p>
|
* The format is:
|
||||||
* <pre>
|
* <pre>
|
||||||
* <dwarf>
|
* <dwarf>
|
||||||
* <register_mappings>
|
* <register_mappings>
|
||||||
|
|
|
@ -15,13 +15,12 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.dwarf;
|
package ghidra.app.util.bin.format.dwarf;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
|
|
||||||
import org.jdom.*;
|
import org.jdom.*;
|
||||||
import org.jdom.input.SAXBuilder;
|
import org.jdom.input.SAXBuilder;
|
||||||
|
|
||||||
|
@ -32,7 +31,6 @@ import ghidra.util.xml.XmlUtilities;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory class to instantiate and cache {@link DWARFRegisterMappings} objects.
|
* Factory class to instantiate and cache {@link DWARFRegisterMappings} objects.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class DWARFRegisterMappingsManager {
|
public class DWARFRegisterMappingsManager {
|
||||||
private static final String DWARF_REGISTER_MAPPING_NAME = "DWARF.register.mapping.file";
|
private static final String DWARF_REGISTER_MAPPING_NAME = "DWARF.register.mapping.file";
|
||||||
|
@ -54,7 +52,6 @@ public class DWARFRegisterMappingsManager {
|
||||||
/**
|
/**
|
||||||
* Returns a possibly cached {@link DWARFRegisterMappings} object for the
|
* Returns a possibly cached {@link DWARFRegisterMappings} object for the
|
||||||
* specified language,
|
* specified language,
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param lang {@link Language} to get the matching DWARF register mappings
|
* @param lang {@link Language} to get the matching DWARF register mappings
|
||||||
* for
|
* for
|
||||||
|
@ -79,7 +76,6 @@ public class DWARFRegisterMappingsManager {
|
||||||
* <p>
|
* <p>
|
||||||
* Throws {@link IOException} if the lang does not have a mapping or it is
|
* Throws {@link IOException} if the lang does not have a mapping or it is
|
||||||
* invalid.
|
* invalid.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param lang {@link Language} to read the matching DWARF register mappings
|
* @param lang {@link Language} to read the matching DWARF register mappings
|
||||||
* for
|
* for
|
||||||
|
@ -118,7 +114,6 @@ public class DWARFRegisterMappingsManager {
|
||||||
/**
|
/**
|
||||||
* Creates a new {@link DWARFRegisterMappings} from the data present in the
|
* Creates a new {@link DWARFRegisterMappings} from the data present in the
|
||||||
* xml element.
|
* xml element.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param rootElem JDom XML element containing the <dwarf> root
|
* @param rootElem JDom XML element containing the <dwarf> root
|
||||||
* element of the mapping file.
|
* element of the mapping file.
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class DWARFUtil {
|
||||||
* which holds a specific value.
|
* which holds a specific value.
|
||||||
* <p>
|
* <p>
|
||||||
* Can be thought of as an enum numeric value to to name lookup.
|
* Can be thought of as an enum numeric value to to name lookup.
|
||||||
* <p>
|
*
|
||||||
* @param clazz
|
* @param clazz
|
||||||
* @param value
|
* @param value
|
||||||
* @return
|
* @return
|
||||||
|
@ -110,7 +110,7 @@ public class DWARFUtil {
|
||||||
* <p>
|
* <p>
|
||||||
* For example, "_ZN19class1_inline_funcs3fooEv" ->
|
* For example, "_ZN19class1_inline_funcs3fooEv" ->
|
||||||
* [19 chars]'class1_inline_funcs', [3 chars]'foo'
|
* [19 chars]'class1_inline_funcs', [3 chars]'foo'
|
||||||
* <p>
|
*
|
||||||
* @param s
|
* @param s
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ -143,7 +143,7 @@ public class DWARFUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to find gnu mangled name nesting info in a DIE's children's linkage strings.
|
* Try to find gnu mangled name nesting info in a DIE's children's linkage strings.
|
||||||
* <p>
|
*
|
||||||
* @param die
|
* @param die
|
||||||
* @return a list of string of nesting names, ending with what should be the DIE parameter's
|
* @return a list of string of nesting names, ending with what should be the DIE parameter's
|
||||||
* name.
|
* name.
|
||||||
|
@ -175,7 +175,7 @@ public class DWARFUtil {
|
||||||
* <p>
|
* <p>
|
||||||
* operator<() and operator<<() are handled so their angle brackets
|
* operator<() and operator<<() are handled so their angle brackets
|
||||||
* don't trigger the template start/end angle bracket incorrectly.
|
* don't trigger the template start/end angle bracket incorrectly.
|
||||||
* <p>
|
*
|
||||||
* @param name symbol name with C++ template portions
|
* @param name symbol name with C++ template portions
|
||||||
* @return base portion of the symbol name without template portion
|
* @return base portion of the symbol name without template portion
|
||||||
*/
|
*/
|
||||||
|
@ -193,7 +193,7 @@ public class DWARFUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a name for anon types based on their position in their parent's childList.
|
* Creates a name for anon types based on their position in their parent's childList.
|
||||||
* <p>
|
*
|
||||||
* @param diea the die aggregate.
|
* @param diea the die aggregate.
|
||||||
* @return the anonymous name of the die aggregate.
|
* @return the anonymous name of the die aggregate.
|
||||||
*/
|
*/
|
||||||
|
@ -468,7 +468,7 @@ public class DWARFUtil {
|
||||||
* Returns a value specified in a {@link Language} definition via a
|
* Returns a value specified in a {@link Language} definition via a
|
||||||
* <pre><external_name tool="<b>name</b>" name="<b>value</b>"/></pre>
|
* <pre><external_name tool="<b>name</b>" name="<b>value</b>"/></pre>
|
||||||
* entry.
|
* entry.
|
||||||
* <p>
|
*
|
||||||
* @param lang {@link Language} to query
|
* @param lang {@link Language} to query
|
||||||
* @param name name of the value
|
* @param name name of the value
|
||||||
* @return String value
|
* @return String value
|
||||||
|
|
|
@ -45,7 +45,6 @@ public class DataTypeGraphComparator {
|
||||||
* This callback can choose to abort traversing the tree of child types if it returns
|
* This callback can choose to abort traversing the tree of child types if it returns
|
||||||
* false. (ie. if this was a Pointer DataType, returning false would stop
|
* false. (ie. if this was a Pointer DataType, returning false would stop
|
||||||
* the graph comparator from comparing the DataType pointed to by this Pointer)
|
* the graph comparator from comparing the DataType pointed to by this Pointer)
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param dt1 element from the first/left/src DataType graph
|
* @param dt1 element from the first/left/src DataType graph
|
||||||
* @param dt2 matching element from the second/right/dest DataType graph
|
* @param dt2 matching element from the second/right/dest DataType graph
|
||||||
|
@ -57,7 +56,7 @@ public class DataTypeGraphComparator {
|
||||||
/**
|
/**
|
||||||
* Compares two {@link DataType datatypes} graphs, calling the observer callback
|
* Compares two {@link DataType datatypes} graphs, calling the observer callback
|
||||||
* for each paired DataType that occupy equivalent positions in each graph.
|
* for each paired DataType that occupy equivalent positions in each graph.
|
||||||
* <p>
|
*
|
||||||
* @param preDT - Original (impl) DataType from before submitting to DataTypeManager.
|
* @param preDT - Original (impl) DataType from before submitting to DataTypeManager.
|
||||||
* @param postDT - Result DataType from the DataTypeManager
|
* @param postDT - Result DataType from the DataTypeManager
|
||||||
* @param observer - Callback called for each position in the preDT graph that has a matching
|
* @param observer - Callback called for each position in the preDT graph that has a matching
|
||||||
|
|
|
@ -132,7 +132,7 @@ public class DebugInfoEntry {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a list of children that are of a specific DWARF type.
|
* Return a list of children that are of a specific DWARF type.
|
||||||
* <p>
|
*
|
||||||
* @param childTag DIE tag used to filter the child DIEs
|
* @param childTag DIE tag used to filter the child DIEs
|
||||||
* @return list of matching child DIE records
|
* @return list of matching child DIE records
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class StringTable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the specified offset is a valid offset for this string table.
|
* Returns true if the specified offset is a valid offset for this string table.
|
||||||
* <p>
|
*
|
||||||
* @param offset location of possible string
|
* @param offset location of possible string
|
||||||
* @return boolean true if location is valid
|
* @return boolean true if location is valid
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -229,7 +229,7 @@ public enum DWARFAttribute {
|
||||||
* Reads a {@link DWARFAttribute.AttrDef} instance from the {@link BinaryReader reader}.
|
* Reads a {@link DWARFAttribute.AttrDef} instance from the {@link BinaryReader reader}.
|
||||||
* <p>
|
* <p>
|
||||||
* Returns a null if its a end-of-list marker.
|
* Returns a null if its a end-of-list marker.
|
||||||
* <p>
|
*
|
||||||
* @param reader {@link BinaryReader} abbr stream
|
* @param reader {@link BinaryReader} abbr stream
|
||||||
* @return new {@link AttrDef}, or null if end-of-list
|
* @return new {@link AttrDef}, or null if end-of-list
|
||||||
* @throws IOException if error reading
|
* @throws IOException if error reading
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class DWARFAttributeDef<E extends Enum<E>> {
|
||||||
* Reads a {@link DWARFAttributeDef} instance from the {@link BinaryReader reader}.
|
* Reads a {@link DWARFAttributeDef} instance from the {@link BinaryReader reader}.
|
||||||
* <p>
|
* <p>
|
||||||
* Returns a null if its a end-of-list marker (which is only used by an attributespec list).
|
* Returns a null if its a end-of-list marker (which is only used by an attributespec list).
|
||||||
* <p>
|
*
|
||||||
* @param <E> attribute id enum type
|
* @param <E> attribute id enum type
|
||||||
* @param reader {@link BinaryReader}
|
* @param reader {@link BinaryReader}
|
||||||
* @param mapper func that converts an attribute id int into its enum
|
* @param mapper func that converts an attribute id int into its enum
|
||||||
|
|
|
@ -191,7 +191,7 @@ public class DWARFExpression {
|
||||||
/**
|
/**
|
||||||
* Finds the index of an {@link DWARFExpressionOperation operation} by its offset
|
* Finds the index of an {@link DWARFExpressionOperation operation} by its offset
|
||||||
* from the beginning of the expression.
|
* from the beginning of the expression.
|
||||||
* <p>
|
*
|
||||||
* @param offset
|
* @param offset
|
||||||
* @return -1 if there is no op at the specified offset
|
* @return -1 if there is no op at the specified offset
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -34,7 +34,6 @@ import ghidra.program.model.lang.Register;
|
||||||
* Can only specify offset from register for framebase and stack relative<br>
|
* Can only specify offset from register for framebase and stack relative<br>
|
||||||
* <p>
|
* <p>
|
||||||
* Result can be a numeric value (ie. static address) or a register 'name' or a stack based offset.
|
* Result can be a numeric value (ie. static address) or a register 'name' or a stack based offset.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class DWARFExpressionEvaluator {
|
public class DWARFExpressionEvaluator {
|
||||||
|
|
||||||
|
@ -121,7 +120,7 @@ public class DWARFExpressionEvaluator {
|
||||||
* <p>
|
* <p>
|
||||||
* Note, you should check {@link #isDeref()} to see if the register is just a pointer
|
* Note, you should check {@link #isDeref()} to see if the register is just a pointer
|
||||||
* to the object instead of the object itself.
|
* to the object instead of the object itself.
|
||||||
* <p>
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Register getTerminalRegister() {
|
public Register getTerminalRegister() {
|
||||||
|
|
|
@ -21,7 +21,6 @@ import java.util.Arrays;
|
||||||
* An immutable representation of a single {@link DWARFExpression} instruction and its operands.
|
* An immutable representation of a single {@link DWARFExpression} instruction and its operands.
|
||||||
* <p>
|
* <p>
|
||||||
* A DWARF expression operation can take 0, 1, or 2 operands.
|
* A DWARF expression operation can take 0, 1, or 2 operands.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
class DWARFExpressionOperation {
|
class DWARFExpressionOperation {
|
||||||
protected final int offset;
|
protected final int offset;
|
||||||
|
@ -71,7 +70,7 @@ class DWARFExpressionOperation {
|
||||||
* <p>
|
* <p>
|
||||||
* Ie. If this opcode was DW_OP_reg12 (0x5c), and the base op code was DW_OP_reg0 (0x50),
|
* Ie. If this opcode was DW_OP_reg12 (0x5c), and the base op code was DW_OP_reg0 (0x50),
|
||||||
* the result value would be 12.
|
* the result value would be 12.
|
||||||
* <p>
|
*
|
||||||
* @param baseOpCode Ordinal value of the opcode that this opcode is being compared ot.
|
* @param baseOpCode Ordinal value of the opcode that this opcode is being compared ot.
|
||||||
* @return numeric difference between this opcode and the base opcode.
|
* @return numeric difference between this opcode and the base opcode.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -70,7 +70,7 @@ public enum DWARFLineContentType {
|
||||||
* Reads a {@link DWARFLineContentType.Def} instance from the {@link BinaryReader reader}.
|
* Reads a {@link DWARFLineContentType.Def} instance from the {@link BinaryReader reader}.
|
||||||
* <p>
|
* <p>
|
||||||
* Returns a null if its a end-of-list marker.
|
* Returns a null if its a end-of-list marker.
|
||||||
* <p>
|
*
|
||||||
* @param reader {@link BinaryReader} stream
|
* @param reader {@link BinaryReader} stream
|
||||||
* @return {@link DWARFLineContentType.Def}, or null if stream was at a end-of-list marker
|
* @return {@link DWARFLineContentType.Def}, or null if stream was at a end-of-list marker
|
||||||
* (which isn't really a thing for line content defs, but is a thing for attribute defs)
|
* (which isn't really a thing for line content defs, but is a thing for attribute defs)
|
||||||
|
|
|
@ -15,13 +15,12 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.dwarf.sectionprovider;
|
package ghidra.app.util.bin.format.dwarf.sectionprovider;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.zip.InflaterInputStream;
|
import java.util.zip.InflaterInputStream;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
|
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.app.util.bin.ByteProvider;
|
import ghidra.app.util.bin.ByteProvider;
|
||||||
import ghidra.formats.gfilesystem.FSUtilities;
|
import ghidra.formats.gfilesystem.FSUtilities;
|
||||||
|
@ -35,7 +34,6 @@ import ghidra.util.task.TaskMonitor;
|
||||||
* A wrapper around another DWARFSectionProvider, this provider
|
* A wrapper around another DWARFSectionProvider, this provider
|
||||||
* fetches DWARF section data that has been compressed and stored in sections in the underlying
|
* fetches DWARF section data that has been compressed and stored in sections in the underlying
|
||||||
* {@link DWARFSectionProvider}.
|
* {@link DWARFSectionProvider}.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class CompressedSectionProvider implements DWARFSectionProvider {
|
public class CompressedSectionProvider implements DWARFSectionProvider {
|
||||||
private static final int ZLIB_MAGIC_BE = 0x5a4c4942; // "ZLIB"
|
private static final int ZLIB_MAGIC_BE = 0x5a4c4942; // "ZLIB"
|
||||||
|
|
|
@ -23,7 +23,6 @@ import ghidra.app.util.bin.BinaryReader;
|
||||||
* Header at the beginning of an ELF compressed section.
|
* Header at the beginning of an ELF compressed section.
|
||||||
* <p>
|
* <p>
|
||||||
* See https://docs.oracle.com/cd/E53394_01/html/E54813/section_compression.html
|
* See https://docs.oracle.com/cd/E53394_01/html/E54813/section_compression.html
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* typedef struct {
|
* typedef struct {
|
||||||
* Elf32_Word ch_type;
|
* Elf32_Word ch_type;
|
||||||
|
|
|
@ -15,11 +15,10 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.elf.info;
|
package ghidra.app.util.bin.format.elf.info;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.app.util.bin.StructConverter;
|
import ghidra.app.util.bin.StructConverter;
|
||||||
import ghidra.framework.options.Options;
|
import ghidra.framework.options.Options;
|
||||||
|
@ -35,7 +34,6 @@ import ghidra.util.NumericUtilities;
|
||||||
* An ELF note that contains a list of enumerated "properties".
|
* An ELF note that contains a list of enumerated "properties".
|
||||||
* <p>
|
* <p>
|
||||||
* Currently known property types are stack_size and no_copy_on_protected (flag).
|
* Currently known property types are stack_size and no_copy_on_protected (flag).
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* array of Elf_Prop {
|
* array of Elf_Prop {
|
||||||
* word pr_type;
|
* word pr_type;
|
||||||
|
|
|
@ -30,7 +30,6 @@ import ghidra.util.exception.InvalidInputException;
|
||||||
/**
|
/**
|
||||||
* Immutable information about registers, alignment sizes, etc needed to allocate storage
|
* Immutable information about registers, alignment sizes, etc needed to allocate storage
|
||||||
* for parameters during a function call.
|
* for parameters during a function call.
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
public class GoRegisterInfo {
|
public class GoRegisterInfo {
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,6 @@ import ghidra.util.task.TaskMonitor;
|
||||||
* <p>
|
* <p>
|
||||||
* Go's 'unique' usage of DW_TAG_subroutine_type to define its ptr-to-ptr-to-func is handled in
|
* Go's 'unique' usage of DW_TAG_subroutine_type to define its ptr-to-ptr-to-func is handled in
|
||||||
* DWARFDataTypeImporter.makeDataTypeForFunctionDefinition().
|
* DWARFDataTypeImporter.makeDataTypeForFunctionDefinition().
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
@ExtensionPointProperties(priority = DWARFFunctionFixup.PRIORITY_NORMAL_EARLY)
|
@ExtensionPointProperties(priority = DWARFFunctionFixup.PRIORITY_NORMAL_EARLY)
|
||||||
public class GolangDWARFFunctionFixup implements DWARFFunctionFixup {
|
public class GolangDWARFFunctionFixup implements DWARFFunctionFixup {
|
||||||
|
|
|
@ -1026,7 +1026,6 @@ public class GoRttiMapper extends DataTypeMapper implements DataTypeMapperContex
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a function definition for a method that is attached to a golang type.
|
* Returns a function definition for a method that is attached to a golang type.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param methodName name of method
|
* @param methodName name of method
|
||||||
* @param methodType golang function def type
|
* @param methodType golang function def type
|
||||||
|
@ -1339,7 +1338,6 @@ public class GoRttiMapper extends DataTypeMapper implements DataTypeMapperContex
|
||||||
/**
|
/**
|
||||||
* Returns the {@link GoName} corresponding to an offset that is relative to the controlling
|
* Returns the {@link GoName} corresponding to an offset that is relative to the controlling
|
||||||
* GoModuledata's typesOffset.
|
* GoModuledata's typesOffset.
|
||||||
* <p>
|
|
||||||
*
|
*
|
||||||
* @param ptrInModule the address of the structure that contains the offset that needs to be
|
* @param ptrInModule the address of the structure that contains the offset that needs to be
|
||||||
* calculated. The containing-structure's address is important because it indicates which
|
* calculated. The containing-structure's address is important because it indicates which
|
||||||
|
@ -1534,7 +1532,7 @@ public class GoRttiMapper extends DataTypeMapper implements DataTypeMapperContex
|
||||||
/**
|
/**
|
||||||
* Returns true if the specified function should be included in the bootstrap function defs
|
* Returns true if the specified function should be included in the bootstrap function defs
|
||||||
* that are written to the golang_NNNN.gdt archive.
|
* that are written to the golang_NNNN.gdt archive.
|
||||||
* <p>
|
*
|
||||||
* @return true if function should be included in golang.gdt bootstrap file
|
* @return true if function should be included in golang.gdt bootstrap file
|
||||||
*/
|
*/
|
||||||
public boolean isBootstrapFunction() {
|
public boolean isBootstrapFunction() {
|
||||||
|
|
|
@ -38,7 +38,6 @@ import ghidra.util.exception.CancelledException;
|
||||||
* <p>
|
* <p>
|
||||||
* Like java's type erasure for generics, a golang slice instance does not have type information
|
* Like java's type erasure for generics, a golang slice instance does not have type information
|
||||||
* about the elements found in the array blob (nor the size of the blob).
|
* about the elements found in the array blob (nor the size of the blob).
|
||||||
* <p>
|
|
||||||
*/
|
*/
|
||||||
@StructureMapping(structureName = "runtime.slice")
|
@StructureMapping(structureName = "runtime.slice")
|
||||||
public class GoSlice implements StructureMarkup<GoSlice> {
|
public class GoSlice implements StructureMarkup<GoSlice> {
|
||||||
|
@ -269,7 +268,7 @@ public class GoSlice implements StructureMarkup<GoSlice> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Treats this slice as a array of unsigned integers, of the specified intSize.
|
* Treats this slice as a array of unsigned integers, of the specified intSize.
|
||||||
* <p>
|
*
|
||||||
* @param intSize size of integer
|
* @param intSize size of integer
|
||||||
* @return array of longs, containing the (possibly smaller) integers contained in the slice
|
* @return array of longs, containing the (possibly smaller) integers contained in the slice
|
||||||
* @throws IOException if error reading
|
* @throws IOException if error reading
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class GoString implements StructureMarkup<GoString> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a artificial gostring instance that was not read from a memory location.
|
* Creates a artificial gostring instance that was not read from a memory location.
|
||||||
* <p>
|
*
|
||||||
* @param goBinary {@link GoRttiMapper}
|
* @param goBinary {@link GoRttiMapper}
|
||||||
* @param stringData location of char array
|
* @param stringData location of char array
|
||||||
* @param len length of char array
|
* @param len length of char array
|
||||||
|
|
|
@ -30,7 +30,6 @@ import ghidra.app.util.bin.format.golang.structmapping.*;
|
||||||
* <p>
|
* <p>
|
||||||
* Additionally, there can be an {@link GoUncommonType} structure immediately after this type, if
|
* Additionally, there can be an {@link GoUncommonType} structure immediately after this type, if
|
||||||
* the uncommon bit is set in tflag.
|
* the uncommon bit is set in tflag.
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* struct specialized_type { basetype_struct; (various_fields)* } struct uncommon;
|
* struct specialized_type { basetype_struct; (various_fields)* } struct uncommon;
|
||||||
* </pre>
|
* </pre>
|
||||||
|
|
|
@ -19,7 +19,7 @@ import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Functional interface to read a structure field's value.
|
* Functional interface to read a structure field's value.
|
||||||
* <p>
|
*
|
||||||
* @see #get(FieldContext)
|
* @see #get(FieldContext)
|
||||||
*
|
*
|
||||||
* @param <T> type of structure mapped class that contains this field
|
* @param <T> type of structure mapped class that contains this field
|
||||||
|
|
|
@ -17,9 +17,7 @@ package ghidra.app.util.bin.format.macho.prelink;
|
||||||
|
|
||||||
|
|
||||||
public class NoPreLinkSectionException extends Exception {
|
public class NoPreLinkSectionException extends Exception {
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
public NoPreLinkSectionException( String message ) {
|
public NoPreLinkSectionException( String message ) {
|
||||||
|
|
|
@ -36,9 +36,6 @@ public abstract class OmfRecord implements StructConverter {
|
||||||
protected BinaryReader dataReader;
|
protected BinaryReader dataReader;
|
||||||
protected long dataEnd;
|
protected long dataEnd;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public OmfRecord() {
|
public OmfRecord() {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,6 @@ import ghidra.util.exception.DuplicateNameException;
|
||||||
* A class to represent the
|
* A class to represent the
|
||||||
* <code>IMAGE_BOUND_IMPORT_DESCRIPTOR</code>
|
* <code>IMAGE_BOUND_IMPORT_DESCRIPTOR</code>
|
||||||
* data structure defined in <b><code>winnt.h</code></b>.
|
* data structure defined in <b><code>winnt.h</code></b>.
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {
|
* typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {
|
||||||
* DWORD TimeDateStamp;
|
* DWORD TimeDateStamp;
|
||||||
|
|
|
@ -27,7 +27,6 @@ import ghidra.util.exception.DuplicateNameException;
|
||||||
* A class to represent the
|
* A class to represent the
|
||||||
* <code>IMAGE_BOUND_FORWARDER_REF</code>
|
* <code>IMAGE_BOUND_FORWARDER_REF</code>
|
||||||
* data structure defined in <b><code>winnt.h</code></b>.
|
* data structure defined in <b><code>winnt.h</code></b>.
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* typedef struct _IMAGE_BOUND_FORWARDER_REF {
|
* typedef struct _IMAGE_BOUND_FORWARDER_REF {
|
||||||
* DWORD TimeDateStamp;
|
* DWORD TimeDateStamp;
|
||||||
|
|
|
@ -29,7 +29,6 @@ import ghidra.util.exception.DuplicateNameException;
|
||||||
* A class to represent the
|
* A class to represent the
|
||||||
* <code>ImgDelayDescr</code>
|
* <code>ImgDelayDescr</code>
|
||||||
* data structure defined in <b><code>DELAYIMP.H</code></b>.
|
* data structure defined in <b><code>DELAYIMP.H</code></b>.
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* typedef struct ImgDelayDescr {
|
* typedef struct ImgDelayDescr {
|
||||||
* DWORD grAttrs; // attributes
|
* DWORD grAttrs; // attributes
|
||||||
|
|
|
@ -32,6 +32,7 @@ import ghidra.util.exception.DuplicateNameException;
|
||||||
import ghidra.util.task.TaskMonitor;
|
import ghidra.util.task.TaskMonitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* <pre>
|
||||||
* typedef struct IMAGE_COR20_HEADER
|
* typedef struct IMAGE_COR20_HEADER
|
||||||
* {
|
* {
|
||||||
* // Header versioning
|
* // Header versioning
|
||||||
|
@ -61,7 +62,6 @@ import ghidra.util.task.TaskMonitor;
|
||||||
*
|
*
|
||||||
*};
|
*};
|
||||||
*</pre>
|
*</pre>
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class ImageCor20Header implements StructConverter, PeMarkupable {
|
public class ImageCor20Header implements StructConverter, PeMarkupable {
|
||||||
private static final String NAME = "IMAGE_COR20_HEADER";
|
private static final String NAME = "IMAGE_COR20_HEADER";
|
||||||
|
|
|
@ -15,9 +15,6 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.pe;
|
package ghidra.app.util.bin.format.pe;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class MachineName {
|
class MachineName {
|
||||||
|
|
||||||
static String getName(short machine) {
|
static String getName(short machine) {
|
||||||
|
|
|
@ -28,7 +28,6 @@ import ghidra.util.exception.DuplicateNameException;
|
||||||
* struct as defined in <b><code>winbase.h</code></b>.
|
* struct as defined in <b><code>winbase.h</code></b>.
|
||||||
* <p>
|
* <p>
|
||||||
* This structure encapsulates a signature used in verifying executables.
|
* This structure encapsulates a signature used in verifying executables.
|
||||||
* <p>
|
|
||||||
* <pre>
|
* <pre>
|
||||||
* typedef struct _WIN_CERTIFICATE {
|
* typedef struct _WIN_CERTIFICATE {
|
||||||
* DWORD dwLength;
|
* DWORD dwLength;
|
||||||
|
|
|
@ -19,9 +19,6 @@ import java.io.IOException;
|
||||||
|
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class DebugSymbolSelector {
|
public class DebugSymbolSelector {
|
||||||
|
|
||||||
public static DebugSymbol selectSymbol(BinaryReader reader, int ptr) throws IOException {
|
public static DebugSymbol selectSymbol(BinaryReader reader, int ptr) throws IOException {
|
||||||
|
|
|
@ -15,9 +15,6 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.pe.debug;
|
package ghidra.app.util.bin.format.pe.debug;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_BLOCK32 extends DebugSymbol {
|
class S_BLOCK32 extends DebugSymbol {
|
||||||
|
|
||||||
S_BLOCK32(short length, short type) {
|
S_BLOCK32(short length, short type) {
|
||||||
|
|
|
@ -15,9 +15,6 @@
|
||||||
*/
|
*/
|
||||||
package ghidra.app.util.bin.format.pe.debug;
|
package ghidra.app.util.bin.format.pe.debug;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_COMPILE extends DebugSymbol {
|
class S_COMPILE extends DebugSymbol {
|
||||||
|
|
||||||
S_COMPILE(short length, short type) {
|
S_COMPILE(short length, short type) {
|
||||||
|
|
|
@ -19,11 +19,7 @@ import java.io.IOException;
|
||||||
|
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
import ghidra.util.Msg;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_CONSTANT32 extends DebugSymbol {
|
class S_CONSTANT32 extends DebugSymbol {
|
||||||
|
|
||||||
S_CONSTANT32(short length, short type, BinaryReader reader, int ptr) throws IOException {
|
S_CONSTANT32(short length, short type, BinaryReader reader, int ptr) throws IOException {
|
||||||
|
|
|
@ -18,9 +18,6 @@ package ghidra.app.util.bin.format.pe.debug;
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Msg;
|
import ghidra.util.Msg;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_END extends DebugSymbol {
|
class S_END extends DebugSymbol {
|
||||||
|
|
||||||
S_END(short length, short type, BinaryReader reader, int ptr) {
|
S_END(short length, short type, BinaryReader reader, int ptr) {
|
||||||
|
|
|
@ -21,9 +21,6 @@ import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
import ghidra.util.Msg;
|
import ghidra.util.Msg;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_GDATA32_NEW extends DebugSymbol {
|
class S_GDATA32_NEW extends DebugSymbol {
|
||||||
|
|
||||||
S_GDATA32_NEW(short length, short type, BinaryReader reader, int ptr) throws IOException {
|
S_GDATA32_NEW(short length, short type, BinaryReader reader, int ptr) throws IOException {
|
||||||
|
|
|
@ -21,9 +21,6 @@ import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
import ghidra.util.Msg;
|
import ghidra.util.Msg;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_LABEL32 extends DebugSymbol {
|
class S_LABEL32 extends DebugSymbol {
|
||||||
private byte flags;
|
private byte flags;
|
||||||
|
|
||||||
|
|
|
@ -20,9 +20,6 @@ import java.io.IOException;
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_LDATA32_NEW extends DebugSymbol{
|
class S_LDATA32_NEW extends DebugSymbol{
|
||||||
private int reserved;
|
private int reserved;
|
||||||
private byte [] padding;
|
private byte [] padding;
|
||||||
|
|
|
@ -20,9 +20,6 @@ import java.io.IOException;
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_OBJNAME extends DebugSymbol {
|
class S_OBJNAME extends DebugSymbol {
|
||||||
private int signature;
|
private int signature;
|
||||||
private byte nameLen;
|
private byte nameLen;
|
||||||
|
|
|
@ -20,9 +20,6 @@ import java.io.IOException;
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_UDT32 extends DebugSymbol {
|
class S_UDT32 extends DebugSymbol {
|
||||||
private int checksum;
|
private int checksum;
|
||||||
private byte typeLen;
|
private byte typeLen;
|
||||||
|
|
|
@ -20,9 +20,6 @@ import java.io.IOException;
|
||||||
import ghidra.app.util.bin.BinaryReader;
|
import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class S_UDT32_NEW extends DebugSymbol {
|
class S_UDT32_NEW extends DebugSymbol {
|
||||||
private int symType;
|
private int symType;
|
||||||
|
|
||||||
|
|
|
@ -21,9 +21,6 @@ import ghidra.app.util.bin.BinaryReader;
|
||||||
import ghidra.util.Conv;
|
import ghidra.util.Conv;
|
||||||
import ghidra.util.Msg;
|
import ghidra.util.Msg;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class UnknownSymbol extends DebugSymbol{
|
class UnknownSymbol extends DebugSymbol{
|
||||||
private byte [] unknown;
|
private byte [] unknown;
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,6 @@ import ghidra.app.util.cparser.CPP.PreProcessor.PPToken;
|
||||||
import ghidra.program.model.data.*;
|
import ghidra.program.model.data.*;
|
||||||
import ghidra.util.Msg;
|
import ghidra.util.Msg;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class DefineTable {
|
public class DefineTable {
|
||||||
private static final String VARARG_ELLIPSIS = "...";
|
private static final String VARARG_ELLIPSIS = "...";
|
||||||
|
|
||||||
|
@ -44,9 +41,6 @@ public class DefineTable {
|
||||||
|
|
||||||
private final static String VALUE = "value";
|
private final static String VALUE = "value";
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public DefineTable() {
|
public DefineTable() {
|
||||||
super();
|
super();
|
||||||
// TODO Auto-generated constructor stub
|
// TODO Auto-generated constructor stub
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue