# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICClass

C AST "class" objects are top\-level AST objects that can be retrieved by a [ICClassFactory](ICClassFactory).

## Method: addField
- parameter: `field`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICField`


## Method: addField
- parameter: `index`, type: `int`
- parameter: `field`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICField`


## Method: addMethod
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICMethod`


## Method: addMethod
- parameter: `index`, type: `int`
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICMethod`


## Method: duplicate
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICClass`


## Method: getClasstype
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICType`


## Method: getFieldAddresses
- return type: `java.util.List<java.lang.String>`


## Method: getFields
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICField>`


## Method: getMethodAddresses
- return type: `java.util.List<java.lang.String>`


## Method: getMethods
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICMethod>`


## Method: getSupertypes
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICType>`


## Method: removeField
- parameter: `field`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICField`
- return type: `boolean`


## Method: removeMethod
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICMethod`
- return type: `boolean`


