public interface Visitor<A>
| Modifier and Type | Interface and Description |
|---|---|
static class |
Visitor.Constant<A>
Represents a function from a Dhall expression that always returns the same value.
|
static class |
Visitor.Identity
Represents an identity function.
|
static class |
Visitor.NoPrepareEvents<A>
Represents a function from a Dhall expression that doesn't need preparation events.
|
static class |
Visitor.Property
Represents a property of Dhall expressions.
|
| Modifier and Type | Method and Description |
|---|---|
void |
bind(java.lang.String name,
Expr type) |
boolean |
flattenToMapLists()
Determines whether the driver flattens lists matching the
toMap format into records
before feeding them to the visitor. |
A |
onAnnotated(A base,
A type) |
A |
onApplication(A base,
java.util.List<A> args) |
A |
onAssert(A base) |
A |
onBuiltIn(Expr self,
java.lang.String value) |
A |
onClasspathImport(java.nio.file.Path path,
Expr.ImportMode mode,
byte[] hash) |
A |
onDouble(Expr self,
double value) |
A |
onEmptyList(A type) |
A |
onEnvImport(java.lang.String value,
Expr.ImportMode mode,
byte[] hash) |
A |
onFieldAccess(A base,
java.lang.String fieldName) |
A |
onIdentifier(Expr self,
java.lang.String value,
long index) |
A |
onIf(A predicate,
A thenValue,
A elseValue) |
A |
onInteger(Expr self,
java.math.BigInteger value) |
A |
onLambda(java.lang.String name,
A type,
A result) |
A |
onLet(java.util.List<Expr.LetBinding<A>> bindings,
A body) |
A |
onLocalImport(java.nio.file.Path path,
Expr.ImportMode mode,
byte[] hash) |
A |
onMerge(A handlers,
A union,
A type) |
A |
onMissingImport(Expr.ImportMode mode,
byte[] hash) |
A |
onNatural(Expr self,
java.math.BigInteger value) |
A |
onNonEmptyList(java.util.List<A> values) |
A |
onNote(A base,
Source source) |
A |
onOperatorApplication(Operator operator,
A lhs,
A rhs) |
A |
onPi(java.lang.String name,
A type,
A result) |
A |
onProjection(A base,
java.lang.String[] fieldNames) |
A |
onProjectionByType(A base,
A type) |
A |
onRecord(java.util.List<java.util.Map.Entry<java.lang.String,A>> fields) |
A |
onRecordType(java.util.List<java.util.Map.Entry<java.lang.String,A>> fields) |
A |
onRemoteImport(java.net.URI url,
A using,
Expr.ImportMode mode,
byte[] hash) |
A |
onText(java.lang.String[] parts,
java.util.List<A> interpolated) |
A |
onToMap(A base,
A type) |
A |
onUnionType(java.util.List<java.util.Map.Entry<java.lang.String,A>> fields) |
A |
onWith(A base,
java.lang.String[] path,
A value) |
boolean |
prepareAnnotated(Expr type) |
boolean |
prepareApplication(Expr base,
int size) |
boolean |
prepareAssert() |
boolean |
prepareEmptyList(Expr type) |
boolean |
prepareFieldAccess(Expr base,
java.lang.String fieldName) |
boolean |
prepareIf() |
boolean |
prepareLambda(java.lang.String name,
Expr type) |
boolean |
prepareLet(int size) |
boolean |
prepareLetBinding(java.lang.String name,
Expr type) |
boolean |
prepareMerge(Expr type) |
boolean |
prepareNonEmptyList(int size) |
boolean |
prepareNonEmptyListElement(int index) |
boolean |
prepareOperatorApplication(Operator operator) |
boolean |
preparePi(java.lang.String name,
Expr type) |
boolean |
prepareProjection(int size) |
boolean |
prepareProjectionByType() |
boolean |
prepareProjectionByType(Expr type) |
boolean |
prepareRecord(int size) |
boolean |
prepareRecordField(java.lang.String name,
Expr type,
int index) |
boolean |
prepareRecordType(int size) |
boolean |
prepareRecordTypeField(java.lang.String name,
Expr type,
int index) |
boolean |
prepareRemoteImport(java.net.URI url,
Expr using,
Expr.ImportMode mode,
byte[] hash) |
boolean |
prepareText(int size) |
boolean |
prepareTextPart(java.lang.String part) |
boolean |
prepareToMap(Expr type) |
boolean |
prepareUnionType(int size) |
boolean |
prepareUnionTypeField(java.lang.String name,
Expr type,
int index) |
boolean |
prepareWith(java.lang.String[] path) |
boolean |
prepareWithValue(java.lang.String[] path) |
boolean |
sortFields()
Determines whether the driver sorts fields by name before feeding them to the visitor.
|
void bind(java.lang.String name,
Expr type)
A onLet(java.util.List<Expr.LetBinding<A>> bindings, A body)
A onMissingImport(Expr.ImportMode mode, byte[] hash)
A onEnvImport(java.lang.String value, Expr.ImportMode mode, byte[] hash)
A onLocalImport(java.nio.file.Path path, Expr.ImportMode mode, byte[] hash)
A onClasspathImport(java.nio.file.Path path, Expr.ImportMode mode, byte[] hash)
A onRemoteImport(java.net.URI url, A using, Expr.ImportMode mode, byte[] hash)
boolean sortFields()
boolean flattenToMapLists()
toMap format into records
before feeding them to the visitor.boolean prepareLambda(java.lang.String name,
Expr type)
boolean preparePi(java.lang.String name,
Expr type)
boolean prepareLet(int size)
boolean prepareLetBinding(java.lang.String name,
Expr type)
boolean prepareText(int size)
boolean prepareTextPart(java.lang.String part)
boolean prepareNonEmptyList(int size)
boolean prepareNonEmptyListElement(int index)
boolean prepareEmptyList(Expr type)
boolean prepareRecord(int size)
boolean prepareRecordField(java.lang.String name,
Expr type,
int index)
boolean prepareRecordType(int size)
boolean prepareRecordTypeField(java.lang.String name,
Expr type,
int index)
boolean prepareUnionType(int size)
boolean prepareUnionTypeField(java.lang.String name,
Expr type,
int index)
boolean prepareFieldAccess(Expr base, java.lang.String fieldName)
boolean prepareProjection(int size)
boolean prepareProjectionByType()
boolean prepareProjectionByType(Expr type)
boolean prepareApplication(Expr base, int size)
boolean prepareOperatorApplication(Operator operator)
boolean prepareIf()
boolean prepareAnnotated(Expr type)
boolean prepareAssert()
boolean prepareMerge(Expr type)
boolean prepareToMap(Expr type)
boolean prepareWith(java.lang.String[] path)
boolean prepareWithValue(java.lang.String[] path)
boolean prepareRemoteImport(java.net.URI url,
Expr using,
Expr.ImportMode mode,
byte[] hash)