Interface AnnotatedOutput
- All Superinterfaces:
ByteOutput, Output
- All Known Implementing Classes:
ByteArrayAnnotatedOutput
Interface for a binary output destination that may be augmented
with textual annotations.
-
Method Summary
Modifier and TypeMethodDescriptionvoidAdd an annotation for a specified amount of subsequent output.voidAdd an annotation for the subsequent output.booleanGet whether this instance will actually keep annotations.voidEnd the most recent annotation.intGet the maximum width of the annotated output.booleanGet whether this instance is intended to keep verbose annotations.Methods inherited from interface Output
alignTo, assertCursor, getCursor, write, write, write, writeByte, writeInt, writeLong, writeShort, writeSleb128, writeUleb128, writeZeroes
-
Method Details
-
annotates
boolean annotates()Get whether this instance will actually keep annotations.- Returns:
trueiff annotations are being kept
-
isVerbose
boolean isVerbose()Get whether this instance is intended to keep verbose annotations. Annotators may use the result of calling this method to inform their annotation activity.- Returns:
trueiff annotations are to be verbose
-
annotate
Add an annotation for the subsequent output. Any previously open annotation will be closed by this call, and the new annotation marks all subsequent output until another annotation call.- Parameters:
msg-non-null;the annotation message
-
annotate
Add an annotation for a specified amount of subsequent output. Any previously open annotation will be closed by this call. If there is already pending annotation from one or more previous calls to this method, the new call "consumes" output after all the output covered by the previous calls.- Parameters:
amt->= 0;the amount of output for this annotation to covermsg-non-null;the annotation message
-
endAnnotation
void endAnnotation()End the most recent annotation. Subsequent output will be unannotated, until the next call toannotate(String). -
getAnnotationWidth
int getAnnotationWidth()Get the maximum width of the annotated output. This is advisory: Implementations of this interface are encouraged to deal with too-wide output, but annotaters are encouraged to attempt to avoid exceeding the indicated width.- Returns:
>= 1;the maximum width
-