Package ghidra.app.util.navigation
Class GoToServiceImpl
java.lang.Object
ghidra.app.util.navigation.GoToServiceImpl
- All Implemented Interfaces:
GoToService
-
Field Summary
Fields inherited from interface ghidra.app.services.GoToService
VALID_GOTO_CHARS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the default navigatable that is the destination for GoTo events.boolean
goTo
(Navigatable navigatable, Address goToAddress) Generates a GoTo event to the given address for the specific navigatable.boolean
goTo
(Navigatable navigatable, Program program, Address address, Address refAddress) Generates a GoTo event to the given address.boolean
goTo
(Navigatable navigatable, ProgramLocation loc, Program program) Generates a GoTo event to the given location in the given program.boolean
Generates a GoTo event to the gotoAddress.boolean
Generates a GoTo event to the given address.boolean
Generates a GoTo event to the gotoAddress.boolean
goTo
(ProgramLocation loc) Generates a GoTo event and handles any history state that needs to be saved.boolean
goTo
(ProgramLocation loc, Program program) Generates a GoTo event and handles any history state that needs to be saved.boolean
goToExternalLocation
(Navigatable navigatable, ExternalLocation extLoc, boolean checkNavigationOption) Navigate to either the external program location or address linkage location.boolean
goToExternalLocation
(ExternalLocation extLoc, boolean checkNavigationOption) Navigate to either the external program location or address linkage location.boolean
goToQuery
(Navigatable navigatable, Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor) Generates a GoTo event for the given query.boolean
goToQuery
(Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor) Generates a GoTo event for the given query.void
setOverrideService
(GoToOverrideService override)
-
Field Details
-
plugin
-
-
Constructor Details
-
Method Details
-
getOverrideService
- Specified by:
getOverrideService
in interfaceGoToService
-
goTo
Description copied from interface:GoToService
Generates a GoTo event and handles any history state that needs to be saved. This method will attempt to find the program that contains the given ProgramLocation.- Specified by:
goTo
in interfaceGoToService
- Parameters:
loc
- location to go to- Returns:
- true if the go to was successful
- See Also:
-
goTo
Description copied from interface:GoToService
Generates a GoTo event and handles any history state that needs to be saved. This overloaded version ofGoToService.goTo(Address)
uses the given program as the program within which to perform the GoTo. If the given program does not contain the given address, then the GoTo will not be performed and false will be returned. Passingnull
as theprogram
parameter will cause this method to attempt to find a program that contains the given ProgramLocation.- Specified by:
goTo
in interfaceGoToService
- Parameters:
loc
- location to go toprogram
- the program within which to perform the GoTo- Returns:
- true if the go to was successful
- See Also:
-
goTo
Description copied from interface:GoToService
Generates a GoTo event to the given address. The fromAddress is used to determine if there is a specific symbol reference from the current address.- Specified by:
goTo
in interfaceGoToService
- Parameters:
currentAddress
- the current addressgoToAddress
- the address to goto- Returns:
- true if the go to was successful
-
goTo
Description copied from interface:GoToService
Generates a GoTo event to the gotoAddress.- Specified by:
goTo
in interfaceGoToService
- Parameters:
goToAddress
- the address to goto- Returns:
- true if the go to was successful
- See Also:
-
goTo
Description copied from interface:GoToService
Generates a GoTo event to the gotoAddress. This overloaded version ofGoToService.goTo(Address)
uses the given program as the program within which to perform the GoTo. If the given program does not contain the given address, then the GoTo will not be performed and false will be returned. Passingnull
as theprogram
parameter will cause this method to attempt to find a program that contains the given ProgramLocation.- Specified by:
goTo
in interfaceGoToService
- Parameters:
goToAddress
- the address to gotoprogram
- the program within which to perform the GoTo- Returns:
- true if the go to was successful
- See Also:
-
goToExternalLocation
Description copied from interface:GoToService
Navigate to either the external program location or address linkage location. Specific behavior may vary based upon implementation.- Specified by:
goToExternalLocation
in interfaceGoToService
- Parameters:
extLoc
- external locationcheckNavigationOption
- if true the service navigation option will be used to determine if navigation to the external program will be attempted, or if navigation to the external linkage location within the current program will be attempted. If false, the implementations default behavior will be performed.- Returns:
- true if either navigation to the external program or to a linkage location was completed successfully.
-
goToQuery
public boolean goToQuery(Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor) Description copied from interface:GoToService
Generates a GoTo event for the given query.If the query results in more than one location, a list of locations will be displayed. If the query results in only one location, then a goto event will be fired(except for a wildcard query in which case a list will still be displayed.
The listener will be notified after query and will indicate the query status.
- Specified by:
goToQuery
in interfaceGoToService
- Parameters:
fromAddr
- The address used to determine the scope of the queryqueryData
- the query input datalistener
- the listener that will be notified when the query completesmonitor
- the task monitor- Returns:
- true if the queryInput is found or appears to be a wildcard search
-
setOverrideService
- Specified by:
setOverrideService
in interfaceGoToService
-