# Interface: com.pnfsoftware.jeb.core.units.code.asm.items.INativeClassItem

Definition of a native class item, having a class type, methods, fields, and so on.

## Method: collectVirtualMethodOverrides
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- parameter: `overUp`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`
- parameter: `overDown`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`
- return type: `boolean`


## Method: getClassType
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IClassType`


## Method: getConstructors
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`


## Method: getCoordinatesOfVirtualMethod
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- return type: `com.pnfsoftware.jeb.util.base.Couple<java.lang.Integer,java.lang.Integer>`


## Method: getDestructors
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`


## Method: getFields
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeFieldItem>`


## Method: getImplementedInterfaces
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.type.IClassType>`


## Method: getInstanceFields
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeFieldItem>`


## Method: getInstanceMethods
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`

Description: Get the instance methods defined in this class. \(Virtual methods defined in parent classes are not included.\) Not all instance methods may be virtual.
return: 

## Method: getMethods
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`


## Method: getNonVirtualMethods
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`

Description: Get the non\-virtual, non\-static methods of this class.
return: 

## Method: getStaticFields
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeFieldItem>`


## Method: getStaticMethods
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`

Description: Get the static methods of this class.
return: 

## Method: getSubtypes
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.type.INativeType>`


## Method: getSupertypes
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.type.IClassType>`


## Method: getVirtualMethodFromCoordinates
- parameter: `tableIndex`, type: `int`
- parameter: `methodIndex`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`


## Method: getVirtualMethods
- parameter: `onlyDefinedInThisClass`, type: `boolean`
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`

Description: Get the virtual methods of this class, including or not the virtual methods defined in parent classes that were not overridden \(and therefore, indirectly belonging to this class as well\).
parameter: onlyDefinedInThisClass: 
return: 

## Method: getVirtualTables
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.items.IMethodTable>`


## Method: renameVirtualMethod
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- parameter: `name`, type: `java.lang.String`
- return type: `boolean`


