XmlWriterMacroVisitor

org.encalmo.writer.xml.XmlWriterMacroVisitor
object XmlWriterMacroVisitor extends TypeTreeVisitor

Attributes

Graph
Supertypes
trait TypeTreeVisitor
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

class Builder

Helper class to build the XML output using the StatementsCache.

Helper class to build the XML output using the StatementsCache.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Builder

Builder method names.

Builder method names.

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Builder.type

Types

Custom context passed between visitor methods during the walk of the type tree structure.

Custom context passed between visitor methods during the walk of the type tree structure.

Attributes

Value members

Concrete methods

inline override def afterArray(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting an array node in the type tree.

After visiting an array node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterCaseClass(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a case class node in the type tree.

After visiting a case class node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterCollection(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a collection node in the type tree.

After visiting a collection node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterEnum(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting an enum node in the type tree.

After visiting an enum node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterJavaIterable(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a Java Iterable node in the type tree.

After visiting a Java Iterable node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterJavaMap(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a Java Map node in the type tree.

After visiting a Java Map node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterJavaRecord(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a Java Record node in the type tree.

After visiting a Java Record node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterMap(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a Map node in the type tree.

After visiting a Map node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterNamedTuple(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a namedtuple node in the type tree.

After visiting a namedtuple node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline def afterNode(using cache: StatementsCache)(annotations: Set[AnnotationInfo], context: Context): Unit

After visiting a node in the type tree.

After visiting a node in the type tree.

Attributes

inline override def afterSelectable(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a Selectable node in the type tree.

After visiting a Selectable node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterTuple(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a tuple node in the type tree.

After visiting a tuple node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def afterUnion(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, context: Context): Unit

After visiting a union type node in the type tree.

After visiting a union type node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeArray(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, itemTpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting an array node in the type tree.

Before visiting an array node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeCaseClass(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a case class node in the type tree.

Before visiting a case class node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeCollection(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, itemTpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a collection node in the type tree.

Before visiting a collection node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeEnum(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting an enum node in the type tree.

Before visiting an enum node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeJavaIterable(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, itemTpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a Java Iterable node in the type tree.

Before visiting a Java Iterable node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeJavaMap(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, keyTpe: cache.quotes.reflect.TypeRepr, valueTpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a Java Map node in the type tree.

Before visiting a Java Map node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeJavaRecord(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a Java Record node in the type tree.

Before visiting a Java Record node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeMap(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, keyTpe: cache.quotes.reflect.TypeRepr, valueTpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a Map node in the type tree.

Before visiting a Map node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeNamedTuple(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a named tuple node in the type tree.

Before visiting a named tuple node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeNode(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context): (XmlWriterMacroContext, Set[AnnotationInfo])

Before visiting a node in the type tree.

Before visiting a node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeSelectable(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, fields: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a Selectable node in the type tree.

Before visiting a Selectable node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeTuple(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a tuple node in the type tree.

Before visiting a tuple node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def beforeUnion(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context): Context

Before visiting a union type node in the type tree.

Before visiting a union type node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def createVariableNamePrefix(using cache: StatementsCache)(context: XmlWriterMacroContext): String

Create a prefix to use for some intermediate variables

Create a prefix to use for some intermediate variables

Attributes

Definition Classes
TypeTreeVisitor
inline override def maybeProcessNodeDirectly(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: XmlWriterMacroContext, visitNode: VisitNodeFunction): Option[Unit]

Maybe process the node directly without walking the tree further.

Maybe process the node directly without walking the tree further.

Attributes

Definition Classes
TypeTreeVisitor
inline override def maybeSummonTypeclassInstance(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, context: Context): Option[Unit]

Maybe summon an existing typeclass instance to process the node instead of walking the tree further.

Maybe summon an existing typeclass instance to process the node instead of walking the tree further.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitArrayItem(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, indexTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit an item of an array node in the type tree.

Visit an item of an array node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitAsString(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, context: Context): Unit

Visit a node represented by a string value.

Visit a node represented by a string value.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitCaseClassField(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, name: String, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit a field of a case class node in the type tree.

Visit a field of a case class node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitCollectionItem(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, indexTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit an item of a collection node in the type tree.

Visit an item of a collection node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitEitherLeft(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a node holding Either Left value.

Visit a node holding Either Left value.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitEitherRight(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a node holding Either Right value.

Visit a node holding Either Right value.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitEnumCaseClass(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, name: String, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a case class of an enum node in the type tree.

Visit a case class of an enum node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitEnumCaseValue(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, name: String, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a case value of an enum node in the type tree.

Visit a case value of an enum node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitJavaIterableItem(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, indexTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit an item of a Java Iterable node in the type tree.

Visit an item of a Java Iterable node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitJavaMapEntry(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, keyTerm: cache.quotes.reflect.Term, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit an entry of a Java Map node in the type tree.

Visit an entry of a Java Map node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitJavaRecordField(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, name: String, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit a field of a Java Record node in the type tree.

Visit a field of a Java Record node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitMapEntry(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, keyTerm: cache.quotes.reflect.Term, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit an entry of a Map node in the type tree.

Visit an entry of a Map node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitNamedTupleItem(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, name: String, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit a field of a named tuple node in the type tree.

Visit a field of a named tuple node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitOpaqueType(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, upperBoundTpe: Option[cache.quotes.reflect.TypeRepr], valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a node holding an opaque type value.

Visit a node holding an opaque type value.

Attributes

Definition Classes
TypeTreeVisitor
inline def visitOptionNone(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context): Unit
inline override def visitOptionSome(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a node holding Some value.

Visit a node holding Some value.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitPrimitive(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, context: Context): Unit

Visit a node represented by a primitive-like values, including BigDecimal

Visit a node represented by a primitive-like values, including BigDecimal

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitSelectableField(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, name: String, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit a field of a Selectable node in the type tree.

Visit a field of a Selectable node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitTupleItem(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, indexTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], context: Context, visitNode: VisitNodeFunction): Unit

Visit an item of a tuple node in the type tree.

Visit an item of a tuple node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor
inline override def visitUnionMember(using cache: StatementsCache)(tpe: cache.quotes.reflect.TypeRepr, valueTerm: cache.quotes.reflect.Term, annotations: Set[AnnotationInfo], isCollectionItem: Boolean, context: Context, visitNode: VisitNodeFunction): Unit

Visit a member type of a union type node in the type tree.

Visit a member type of a union type node in the type tree.

Attributes

Definition Classes
TypeTreeVisitor