Package ghidra.app.util.navigation
Class GoToServiceImpl
- java.lang.Object
-
- ghidra.app.util.navigation.GoToServiceImpl
-
- All Implemented Interfaces:
GoToService
public class GoToServiceImpl extends java.lang.Object implements GoToService
-
-
Field Summary
Fields Modifier and Type Field Description protected Pluginplugin-
Fields inherited from interface ghidra.app.services.GoToService
VALID_GOTO_CHARS
-
-
Constructor Summary
Constructors Constructor Description GoToServiceImpl(Plugin plugin, Navigatable defaultNavigatable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NavigatablegetDefaultNavigatable()GoToOverrideServicegetOverrideService()booleangoTo(Navigatable navigatable, Address goToAddress)booleangoTo(Navigatable navigatable, Program program, Address address, Address refAddress)booleangoTo(Navigatable navigatable, ProgramLocation loc, Program program)booleangoTo(Address goToAddress)Generates a GoTo event to the gotoAddress.booleangoTo(Address currentAddress, Address goToAddress)Generates a GoTo event to the goToAddress or symbol.booleangoTo(Address goToAddress, Program program)Generates a GoTo event to the gotoAddress.booleangoTo(ProgramLocation loc)Generates a GoTo event and handles any history state that needs to be saved.booleangoTo(ProgramLocation loc, Program program)Generates a GoTo event and handles any history state that needs to be saved.booleangoToExternalLocation(Navigatable navigatable, ExternalLocation extLoc, boolean checkNavigationOption)Navigate to either the external program location or address linkage location.booleangoToExternalLocation(ExternalLocation extLoc, boolean checkNavigationOption)Navigate to either the external program location or address linkage location.booleangoToQuery(Navigatable navigatable, Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor)booleangoToQuery(Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor)Parses the input string as either: an address/symbol expression (0x1000+5, or LAB1000+5) a symbol wildcard expression (LAB*, LAB?100) a symbol lookup an address lookup If the query results in more than one location, a list of locations will be displayed.voidsetOverrideService(GoToOverrideService override)
-
-
-
Field Detail
-
plugin
protected final Plugin plugin
-
-
Constructor Detail
-
GoToServiceImpl
public GoToServiceImpl(Plugin plugin, Navigatable defaultNavigatable)
-
-
Method Detail
-
getOverrideService
public GoToOverrideService getOverrideService()
- Specified by:
getOverrideServicein interfaceGoToService
-
goTo
public boolean goTo(ProgramLocation loc)
Description copied from interface:GoToServiceGenerates 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:
goToin interfaceGoToService- Parameters:
loc- location to go to- Returns:
- true if the go to was successful
- See Also:
GoToService.goTo(ProgramLocation, Program)
-
goTo
public boolean goTo(ProgramLocation loc, Program program)
Description copied from interface:GoToServiceGenerates 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. Passingnullas theprogramparameter will cause this method to attempt to find a program that contains the given ProgramLocation.- Specified by:
goToin 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:
GoToService.goTo(ProgramLocation)
-
goTo
public boolean goTo(Navigatable navigatable, ProgramLocation loc, Program program)
- Specified by:
goToin interfaceGoToService
-
goTo
public boolean goTo(Navigatable navigatable, Address goToAddress)
- Specified by:
goToin interfaceGoToService
-
goTo
public boolean goTo(Navigatable navigatable, Program program, Address address, Address refAddress)
- Specified by:
goToin interfaceGoToService
-
goTo
public boolean goTo(Address currentAddress, Address goToAddress)
Description copied from interface:GoToServiceGenerates a GoTo event to the goToAddress or symbol. The currentAddress is used to determine if there is a specific symbol reference from the current address.- Specified by:
goToin interfaceGoToService- Parameters:
currentAddress- the current addressgoToAddress- the address to goto- Returns:
- true if the go to was successful
-
goTo
public boolean goTo(Address goToAddress)
Description copied from interface:GoToServiceGenerates a GoTo event to the gotoAddress.- Specified by:
goToin interfaceGoToService- Parameters:
goToAddress- the address to goto- Returns:
- true if the go to was successful
- See Also:
GoToService.goTo(Address, Program)
-
goTo
public boolean goTo(Address goToAddress, Program program)
Description copied from interface:GoToServiceGenerates 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. Passingnullas theprogramparameter will cause this method to attempt to find a program that contains the given ProgramLocation.- Specified by:
goToin 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:
GoToService.goTo(Address)
-
goToExternalLocation
public boolean goToExternalLocation(ExternalLocation extLoc, boolean checkNavigationOption)
Description copied from interface:GoToServiceNavigate to either the external program location or address linkage location. Specific behavior may vary based upon implementation.- Specified by:
goToExternalLocationin 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.
-
goToExternalLocation
public boolean goToExternalLocation(Navigatable navigatable, ExternalLocation extLoc, boolean checkNavigationOption)
Description copied from interface:GoToServiceNavigate to either the external program location or address linkage location. Specific behavior may vary based upon implementation.- Specified by:
goToExternalLocationin interfaceGoToService- Parameters:
navigatable- NavigatableextLoc- 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(Navigatable navigatable, Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor)
- Specified by:
goToQueryin interfaceGoToService
-
goToQuery
public boolean goToQuery(Address fromAddr, QueryData queryData, GoToServiceListener listener, TaskMonitor monitor)
Description copied from interface:GoToServiceParses the input string as either: an address/symbol expression (0x1000+5, or LAB1000+5) a symbol wildcard expression (LAB*, LAB?100) a symbol lookup an address lookup 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:
goToQueryin 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 completes.monitor- the task monitor- Returns:
- true if the queryInput is found or appears to be a wildcard search.
-
setOverrideService
public void setOverrideService(GoToOverrideService override)
- Specified by:
setOverrideServicein interfaceGoToService
-
getDefaultNavigatable
public Navigatable getDefaultNavigatable()
- Specified by:
getDefaultNavigatablein interfaceGoToService
-
-