public interface

ICodeItem

com.pnfsoftware.jeb.core.units.code.ICodeItem
Known Indirect Subclasses

Class Overview

Definition of a generic code object.

TODO: rename to ICodeObject

Summary

Constants
int FLAG_ABSTRACT
int FLAG_ANNOTATION
int FLAG_ANONYMOUS
int FLAG_ARTIFICIAL
int FLAG_BRIDGE
int FLAG_CONSTRUCTOR
int FLAG_DECLARED_SYNCHRONIZED
int FLAG_DESTRUCTOR
int FLAG_ENUM
int FLAG_FINAL
int FLAG_INNER
int FLAG_INTERFACE
int FLAG_INTERNAL
int FLAG_NATIVE
int FLAG_PRIVATE
int FLAG_PROTECTED
int FLAG_PUBLIC
int FLAG_STATIC
int FLAG_STRICT
int FLAG_SYNCHRONIZED
int FLAG_SYNTHETIC
int FLAG_TRANSIENT
int FLAG_VARARGS
int FLAG_VIRTUAL
int FLAG_VOLATILE
Public Methods
abstract String getAddress()
Get the item address.
abstract int getGenericFlags()
Get the canonicalized generic flags for that code item.
abstract int getIndex()
Get the item index.
abstract long getItemId()
Get the item identifier.
abstract String getName(boolean effective)
Get the item simple name.
abstract String getName()
Get the item name.
abstract String getSignature(boolean effective)
Get the item signature.
abstract String getSignature()
Get the item signature.
abstract boolean isArtificial()
Determine if the item was part of the original code unit, or was added after processing complete (eg, by a third-party client).
abstract boolean isInternal()
Determine if the item is internal or external.

Constants

public static final int FLAG_ABSTRACT

Constant Value: 1024 (0x00000400)

public static final int FLAG_ANNOTATION

Constant Value: 8192 (0x00002000)

public static final int FLAG_ANONYMOUS

Constant Value: 2097152 (0x00200000)

public static final int FLAG_ARTIFICIAL

Constant Value: 1073741824 (0x40000000)

public static final int FLAG_BRIDGE

Constant Value: 64 (0x00000040)

public static final int FLAG_CONSTRUCTOR

Constant Value: 65536 (0x00010000)

public static final int FLAG_DECLARED_SYNCHRONIZED

Constant Value: 131072 (0x00020000)

public static final int FLAG_DESTRUCTOR

Constant Value: 536870912 (0x20000000)

public static final int FLAG_ENUM

Constant Value: 16384 (0x00004000)

public static final int FLAG_FINAL

Constant Value: 16 (0x00000010)

public static final int FLAG_INNER

Constant Value: 1048576 (0x00100000)

public static final int FLAG_INTERFACE

Constant Value: 512 (0x00000200)

public static final int FLAG_INTERNAL

Constant Value: -2147483648 (0x80000000)

public static final int FLAG_NATIVE

Constant Value: 256 (0x00000100)

public static final int FLAG_PRIVATE

Constant Value: 2 (0x00000002)

public static final int FLAG_PROTECTED

Constant Value: 4 (0x00000004)

public static final int FLAG_PUBLIC

Constant Value: 1 (0x00000001)

public static final int FLAG_STATIC

Constant Value: 8 (0x00000008)

public static final int FLAG_STRICT

Constant Value: 2048 (0x00000800)

public static final int FLAG_SYNCHRONIZED

Constant Value: 32 (0x00000020)

public static final int FLAG_SYNTHETIC

Constant Value: 4096 (0x00001000)

public static final int FLAG_TRANSIENT

Constant Value: 128 (0x00000080)

public static final int FLAG_VARARGS

Constant Value: 128 (0x00000080)

public static final int FLAG_VIRTUAL

Constant Value: 268435456 (0x10000000)

public static final int FLAG_VOLATILE

Constant Value: 64 (0x00000040)

Public Methods

public abstract String getAddress ()

Get the item address.

Returns
  • the item address

public abstract int getGenericFlags ()

Get the canonicalized generic flags for that code item. Examples include access flags or structural flags.

Returns
  • bit mask of ICodeItem.FLAG_* values

public abstract int getIndex ()

Get the item index. The meaning of the index is specific to the code unit produced the item.

Returns
  • the item index

public abstract long getItemId ()

Get the item identifier.

Returns
  • the item identifier

public abstract String getName (boolean effective)

Get the item simple name.

If the item is qualified, the non-qualified name should be returned.

Parameters
effective true to get the actual name, false to return the original name (if the unit allows the modification of items)
Returns
  • the name

public abstract String getName ()

Get the item name. The effective name is returned.

If the item is qualified, the non-qualified name should be returned.

Returns
  • the effective name

public abstract String getSignature (boolean effective)

Get the item signature.

Parameters
effective true to get the actual signature, false to return the original signature (if the unit allows the modification of items)
Returns
  • the signature

public abstract String getSignature ()

Get the item signature. The effective name is returned.

Returns
  • the effective signature

public abstract boolean isArtificial ()

Determine if the item was part of the original code unit, or was added after processing complete (eg, by a third-party client).

This is a convenience method that checks whether FLAG_ARTIFICIAL is set.

Returns
  • true if the item is artificial

public abstract boolean isInternal ()

Determine if the item is internal or external. An internal item is defined within its unit, whereas an external item may just be a reference to an item defined in a separate unit.

This is a convenience method that checks whether FLAG_INTERNAL is set.

Returns
  • true if the item is internal