Package net.hydromatic.morel.compile
Class Pretty
java.lang.Object
net.hydromatic.morel.compile.Pretty
Prints values.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classWrapper that indicates that a value should be printed "label:type".private static classWrapper that indicates that a value should be printed "name = value".(package private) static classWrapper that indicates that a value should be printed "val name = value : type".private static classWrapper around a type value. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intprivate final charprivate final Prop.Outputprivate final intprivate final intprivate final intprivate final TypeSystem -
Constructor Summary
ConstructorsConstructorDescriptionPretty(TypeSystem typeSystem, int lineWidth, Prop.Output output, int printLength, int printDepth, int stringDepth) -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleancanPrintTabular(Type type) Can print a type in tabular format if it is a list of records.private static booleancanPrintTabular2(RecordType recordType) Can print a record in tabular format if its fields are all primitive.private booleancustomPrint(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, Type type, Object o) Tries to print a value using a custom formatter.private static voidindent(@NonNull StringBuilder buf, int indent) private voidpadTo(StringBuilder buf, int desiredLength, char pad) (package private) StringBuilderpretty(@NonNull StringBuilder buf, @NonNull Type type, @NonNull Object value) Prints a value to a buffer.private StringBuilderpretty1(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, @NonNull Type type, @NonNull Object value, int leftPrec, int rightPrec) Prints a value to a buffer.private StringBuilderpretty2(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, @NonNull Type type, @NonNull Object value, int leftPrec, int rightPrec) private StringBuilderprettyType(StringBuilder buf, int indent, int[] lineEnd, int depth, Type type, Pretty.TypeVal typeVal, int leftPrec, int rightPrec) private StringBuilderprintList(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, @NonNull Type elementType, @NonNull List<Object> list) private voidprivate static Typeunqualified(Type type)
-
Field Details
-
typeSystem
-
lineWidth
private final int lineWidth -
output
-
printLength
private final int printLength -
printDepth
private final int printDepth -
stringDepth
private final int stringDepth -
newline
private final char newline
-
-
Constructor Details
-
Pretty
Pretty(TypeSystem typeSystem, int lineWidth, Prop.Output output, int printLength, int printDepth, int stringDepth)
-
-
Method Details
-
pretty
Prints a value to a buffer. -
pretty1
private StringBuilder pretty1(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, @NonNull Type type, @NonNull Object value, int leftPrec, int rightPrec) Prints a value to a buffer. If the first attempt goes beyondlineEnd, back-tracks, adds a newline and indent, and tries again one time. -
indent
-
pretty2
private StringBuilder pretty2(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, @NonNull Type type, @NonNull Object value, int leftPrec, int rightPrec) -
customPrint
private boolean customPrint(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, Type type, Object o) Tries to print a value using a custom formatter.If successful, returns true, and
bufcontains the value; if unsuccessful, returns false, and the contents ofbufare not changed. -
canPrintTabular
Can print a type in tabular format if it is a list of records. -
canPrintTabular2
Can print a record in tabular format if its fields are all primitive. -
row
-
padTo
-
prettyType
private StringBuilder prettyType(StringBuilder buf, int indent, int[] lineEnd, int depth, Type type, Pretty.TypeVal typeVal, int leftPrec, int rightPrec) -
toList
-
unqualified
-
printList
private StringBuilder printList(@NonNull StringBuilder buf, int indent, int[] lineEnd, int depth, @NonNull Type elementType, @NonNull List<Object> list)
-