public interface

INativeMethodItem

implements ICodeMethod INativeItem
com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem

Class Overview

A method item references an external or internal native routine. Internal routines have associated INativeMethodDataItem objects defining them.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
Public Methods
abstract INativeClassItem getClassItem()
abstract IClassType getClassType()
Get the type of the class holding this method.
abstract INativeMethodDataItem getData()
If the method is internal, retrieve the method's definition object.
abstract String getFinalName()
abstract IReferenceType getFunctionPointer()
abstract List<? extends IInstruction> getInstructions()
This method is deprecated. Use getData() and getCFG() instead.
abstract Long getMemoryAddress()
Convenience method to retrieve the physical address of the routine start, if a definition object is present.
abstract Boolean getNonReturning()
Retrieve a hint specifying whether or not the method returns to its caller.
abstract String getParameterName(int index)
abstract List<String> getParameterNames()
Retrieve a list of parameter names.
abstract List<? extends INativeType> getParameterTypes()
Get the method's parameters list.
abstract IPrototypeItem getPrototype()
Retrieve the method prototype, if one was set.
abstract INativeType getReturnType()
Get the method's return type.
abstract boolean isAutoGeneratedPrototype()
Determine if the native prototype was auto-generated.
abstract boolean isDetectedAsLibraryCode()
Determine whether this method matched a well-known method signed by one of JEB's code signing system.
abstract boolean isPlaceholderMethod()
abstract boolean isVirtualMethod()
abstract void setNonReturning(Boolean nonReturning)
Specify whether the method returns to its caller upon completion.
abstract void setParameterName(int index, String name)
abstract void setParameterNames(Collection<String> names)
abstract void setPrototype(IPrototypeItem prototype)
Set or update a prototype.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
From interface com.pnfsoftware.jeb.core.units.code.ICodeMethod
From interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem
From interface com.pnfsoftware.jeb.core.units.code.asm.items.INativeItemListenable

Public Methods

public abstract INativeClassItem getClassItem ()

public abstract IClassType getClassType ()

Get the type of the class holding this method. This method will return null if the method is class-less (example, a native sub-routine not contained in any class).

Returns
  • the class type, null if unknown

public abstract INativeMethodDataItem getData ()

If the method is internal, retrieve the method's definition object.

Returns
  • the method data object; null if the method is external

public abstract String getFinalName ()

public abstract IReferenceType getFunctionPointer ()

public abstract List<? extends IInstruction> getInstructions ()

This method is deprecated.
Use getData() and getCFG() instead.

Get the list of instructions of the method's body.

Returns
  • null if the method has no body; else, a list (possibly empty) of instructions

public abstract Long getMemoryAddress ()

Convenience method to retrieve the physical address of the routine start, if a definition object is present.

Returns
  • an address or null if this reference does not link to a definition object

public abstract Boolean getNonReturning ()

Retrieve a hint specifying whether or not the method returns to its caller. Note that this information may be provided in prototype.

Returns
  • null if not present or not computed

public abstract String getParameterName (int index)

public abstract List<String> getParameterNames ()

Retrieve a list of parameter names.

Returns
  • a list, possibly empty (or containing less entries than the actual parameter count); never null

public abstract List<? extends INativeType> getParameterTypes ()

Get the method's parameters list.

Returns
  • the parameter types, null if unknown

public abstract IPrototypeItem getPrototype ()

Retrieve the method prototype, if one was set.

Returns
  • the prototype or null (if unknown)

public abstract INativeType getReturnType ()

Get the method's return type.

Returns
  • the return type, null if unknown

public abstract boolean isAutoGeneratedPrototype ()

Determine if the native prototype was auto-generated. The value is irrelevant if getPrototype() returns null.

Returns
  • true if the prototype was automatically generated

public abstract boolean isDetectedAsLibraryCode ()

Determine whether this method matched a well-known method signed by one of JEB's code signing system.

public abstract boolean isPlaceholderMethod ()

public abstract boolean isVirtualMethod ()

public abstract void setNonReturning (Boolean nonReturning)

Specify whether the method returns to its caller upon completion. Note that this information may be provided in prototype.

public abstract void setParameterName (int index, String name)

public abstract void setParameterNames (Collection<String> names)

public abstract void setPrototype (IPrototypeItem prototype)

Set or update a prototype. Any wildcard prototype attached to the routine will be nullified.