# Interface: com.pnfsoftware.jeb.core.units.code.ICodeItem

Definition of a generic code object.

## Static Field: FLAG_ABSTRACT
Type: `int`

Constant value: `1024`

## Static Field: FLAG_ANNOTATION
Type: `int`

Constant value: `8192`

## Static Field: FLAG_ANONYMOUS
Type: `int`

Constant value: `2097152`

## Static Field: FLAG_ARTIFICIAL
Type: `int`

Constant value: `1073741824`

## Static Field: FLAG_BRIDGE
Type: `int`

Constant value: `64`

## Static Field: FLAG_CONSTRUCTOR
Type: `int`

Constant value: `65536`

## Static Field: FLAG_DECLARED_SYNCHRONIZED
Type: `int`

Constant value: `131072`

## Static Field: FLAG_DESTRUCTOR
Type: `int`

Constant value: `536870912`

## Static Field: FLAG_ENUM
Type: `int`

Constant value: `16384`

## Static Field: FLAG_FINAL
Type: `int`

Constant value: `16`

## Static Field: FLAG_INNER
Type: `int`

Constant value: `1048576`

## Static Field: FLAG_INTERFACE
Type: `int`

Constant value: `512`

## Static Field: FLAG_INTERNAL
Type: `int`

Constant value: `-2147483648`

## Static Field: FLAG_NATIVE
Type: `int`

Constant value: `256`

## Static Field: FLAG_PRIVATE
Type: `int`

Constant value: `2`

## Static Field: FLAG_PROTECTED
Type: `int`

Constant value: `4`

## Static Field: FLAG_PUBLIC
Type: `int`

Constant value: `1`

## Static Field: FLAG_STATIC
Type: `int`

Constant value: `8`

## Static Field: FLAG_STRICT
Type: `int`

Constant value: `2048`

## Static Field: FLAG_SYNCHRONIZED
Type: `int`

Constant value: `32`

## Static Field: FLAG_SYNTHETIC
Type: `int`

Constant value: `4096`

## Static Field: FLAG_TRANSIENT
Type: `int`

Constant value: `128`

## Static Field: FLAG_VARARGS
Type: `int`

Constant value: `128`

## Static Field: FLAG_VIRTUAL
Type: `int`

Constant value: `268435456`

## Static Field: FLAG_VOLATILE
Type: `int`

Constant value: `64`

## Method: getAddress
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the item address.
parameter: effective: 
return: the item address

## Method: getAddress
- return type: `java.lang.String`

Description: Get the item address.
return: the item address

## Method: getGenericFlags
- return type: `int`

Description: Get the canonicalized generic flags for that code item. Examples include access flags or structural flags.
return: bit mask of `ICodeItem.FLAG_*` values

## Method: getIndex
- return type: `int`

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

## Method: getItemId
- return type: `long`

Description: Get the item identifier.
return: the item identifier

## Method: getName
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the item simple name. 

 If the item is qualified, the non\-qualified name should be returned.
parameter: effective: true to get the actual name, false to return the original name \(if the unit            allows the modification of items\)
return: the name

## Method: getName
- return type: `java.lang.String`

Description: Get the item name. The effective name is returned. 

 If the item is qualified, the non\-qualified name should be returned.
return: the effective name

## Method: getSignature
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the item signature.
parameter: effective: true to get the actual signature, false to return the original signature \(if            the unit allows the modification of items\)
return: the signature

## Method: getSignature
- parameter: `effective`, type: `boolean`
- parameter: `internal`, type: `boolean`
- return type: `java.lang.String`

Description: Get the item signature.
parameter: effective: true to get the actual signature, false to return the original signature \(if            the unit allows the modification of items\)
parameter: internal: true to generate internal names \(default\); false to generate user\-friendly            signatures \(may be the same as the internal signatures\)
return: the signature

## Method: getSignature
- return type: `java.lang.String`

Description: Get the item signature. The effective name is returned.
return: the effective signature

## Method: isArtificial
- return type: `boolean`

Description: 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](#FLAG_ARTIFICIAL) is set.
return: true if the item is artificial

## Method: isInternal
- return type: `boolean`

Description: 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](#FLAG_INTERNAL) is set.
return: true if the item is internal

