Class CDocument
java.lang.Object
com.pnfsoftware.jeb.util.events.EventSource
com.pnfsoftware.jeb.core.output.text.impl.AbstractTextDocument
com.pnfsoftware.jeb.core.output.code.CodeDocument
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.CDocument
- All Implemented Interfaces:
IGenericDocument,ITextDocument,IEventSource
C AST document used to render a decompiled piece of native code. These documents are provided by
the
INativeDecompilerUnit or generated by INativeSourceUnit.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class com.pnfsoftware.jeb.util.events.EventSource
onEventCallCount -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddressToCoordinates(String address, CoordinatesConversionPrecision precision) Precision is not used - Use an exact addressstatic voidbuildPDM(IPropertyDefinitionManager unitPDM) coordinatesToAddress(ICoordinates coordinates, AddressConversionPrecision precision) Convert document-specific text coordinates to a unit-specific address.voiddispose()The default implementation does nothing.longGet the range of anchor points in the document.getDocumentPart(long anchorId, int linesAfter, int linesBefore) Retrieve a document part.getUnit()If available, retrieve the unit that backs up this document.Methods inherited from class com.pnfsoftware.jeb.core.output.text.impl.AbstractTextDocument
addressToCoordinates, coordinatesToAddress, format, getDocumentPart, getDocumentPart2, getFirstAnchor, getInitialAnchor, getPropertyManager, toString, useDisplayLineNumber, useLineDeltaMethods inherited from class com.pnfsoftware.jeb.util.events.EventSource
addListener, countListeners, getListeners, getParentSource, insertListener, notifyListeners, notifyListeners, notifyListeners, relay, removeListener, setParentSourceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.pnfsoftware.jeb.util.events.IEventSource
addListener, countListeners, getListeners, getParentSource, insertListener, notifyListeners, removeListener, setParentSourceMethods inherited from interface com.pnfsoftware.jeb.core.output.text.ITextDocument
getBinaryRepresentation, hasBinaryRepresentation
-
Field Details
-
propnameSpaceOutCompounds
- See Also:
-
propnameMergeAdjacentDefinitions
- See Also:
-
propnameHideCasts
- See Also:
-
propnameHideTopLevelNamespaceElements
- See Also:
-
-
Constructor Details
-
CDocument
-
-
Method Details
-
buildPDM
-
dispose
public void dispose()Description copied from class:AbstractTextDocumentThe default implementation does nothing.- Specified by:
disposein interfaceIGenericDocument- Overrides:
disposein classAbstractTextDocument
-
getUnit
Description copied from interface:IGenericDocumentIf available, retrieve the unit that backs up this document.- Returns:
- an optional unit reference (may be null)
-
getAnchorCount
public long getAnchorCount()Description copied from interface:ITextDocumentGet the range of anchor points in the document. Returning 1 means that the document returns a single part, holding the entire contents.Note that the anchor at "
ITextDocument.getFirstAnchor()+ITextDocument.getAnchorCount()" is the "end" anchor (one after the last), and lies outside the document. It is not a valid anchor.- Returns:
- the count/range of anchors in this document, must be greater than zero
-
getDocumentPart
Description copied from interface:ITextDocumentRetrieve a document part. Clients call this method to retrieve a document part starting at a specific anchor, and containing the given amount of lines after and before the anchor. It is the responsibility of the implementor to sanitize the input (eg, negative number of lines, invalid anchor, etc.) and provide appropriate response (eg, truncating). It is recommended that implementors try not to raise an exception on error. In the worst case scenario, an empty document can be returned.- Parameters:
anchorId- the anchor identifierlinesAfter- hint lines count to return after the given anchor, could be more or lesslinesBefore- hint lines count to return before the given anchor, could be more or less- Returns:
- a document part containing as many anchors as required to honor the client requests. If linesAfter is non-null, the first anchor within the document part may not be anchorId, but one anchor before that. THis method should return null if an invalid anchor was provided
-
coordinatesToAddress
Description copied from interface:ITextDocumentConvert document-specific text coordinates to a unit-specific address.Note: The addressing scheme is unit specific, and defined by the plugin developer. Addresses should not start with the reserved '@' prefix.
- Specified by:
coordinatesToAddressin interfaceITextDocument- Overrides:
coordinatesToAddressin classAbstractTextDocument- Parameters:
coordinates- the coordinatesprecision- indicate the precision of the address (AddressConversionPrecision.COARSEwill return a raw address, with a faster result whileAddressConversionPrecision.FINEwill return a more precise address that can be a bit longer). IfAddressConversionPrecision.COARSEcan not be retrieved, it may return a null result, and the user will need to recall this method with another precision.- Returns:
- the address, null on error
-
addressToCoordinates
Description copied from class:AbstractTextDocumentPrecision is not used - Use an exact address- Specified by:
addressToCoordinatesin interfaceITextDocument- Overrides:
addressToCoordinatesin classAbstractTextDocument- Parameters:
address- a textual address- Returns:
- the text coordinates, null on error
-