# Interface: com.pnfsoftware.jeb.core.units.code.ISourceUnit
- Super interfaces: `com.pnfsoftware.jeb.core.units.IInteractiveUnit`

This interface is used to represent source code abstract syntax trees \(AST\). Such units are  produced by [IDecompilerUnit](com.pnfsoftware.jeb.core.units.code.IDecompilerUnit.md)s.

## Abstract Method: getDecompiler
- return type: `com.pnfsoftware.jeb.core.units.code.IDecompilerUnit`

Description: Get the decompiler unit \(possibly the parent, possibly null\) that generated this unit.
return: a decompiler unit, possibly null

## Abstract Method: getFileExtension
- return type: `java.lang.String`

Description: Get the ideal or most commonly accepted file extension for the code represented by this  source unit.
return: an extension string \(not prefixed by dot\), or null if unknown

## Abstract Method: getFullyQualifiedName
- return type: `java.lang.String`

Description: Get the fully\-qualified, original name of this source entity. Since [ISourceUnit](com.pnfsoftware.jeb.core.units.code.ISourceUnit.md) are  normally produced by decompilers, this method will likely return a class or method name.
return: the name

## Abstract Method: getSource
- return type: `java.lang.String`

Description: Generate the decompiled source text. Convenience method.
return: source text

## Abstract Method: getSourceDocument
- return type: `com.pnfsoftware.jeb.core.output.text.ITextDocument`

Description: Get the text document representing the decompiled source.  

  The caller is responsible for disposing the returned document after usage.
return: source document

