Signature

class Signature : EntityRegistrar<SignatureNode> , EntityPropertyRegistrar<SignatureNode> , ElementDebugLogger<SignatureNode> (source)

Signature scope for working with generics.

See also

Functions

Link copied to clipboard
open override fun editor(vararg ops: TextTransformer): Action<Iter<SignatureNode>, IterValues>

internal function primarily used during graphviz dot generation

Link copied to clipboard
open override fun entity(id: Entity.Type, vararg properties: Property<SignatureNode>)
open override fun entity(id: Entity.Type, labelFormatter: LabelFormatter, vararg properties: Property<SignatureNode>)

register entity

open override fun entity(id: Entity.Type, errorIfExists: Boolean, vararg properties: Property<SignatureNode>)

new entity with label inferred from introspected bytecode element

open override fun entity(id: Entity.Type, labelFormatter: LabelFormatter, errorIfExists: Boolean, vararg properties: Property<SignatureNode>)

new entity with label from labelFormatter

Link copied to clipboard
fun explodeType(synthesize: Boolean = false, f: Classes.() -> Unit)
Link copied to clipboard
fun explodeTypeT(signature: String = "_<T>", synthesize: Boolean = false, f: Classes.() -> Unit)

Iterates over all classes given a generic type signature, e.g. Map<_, List<T>>. The signature parameter describes the generic type to search for. It must contain a T token, which will be replaced with each declaration during iteration. The _ symbol can be used to match any class.

Link copied to clipboard
fun filter(s: String, invert: Boolean = false)
fun filter(regex: Regex, invert: Boolean = false)
Link copied to clipboard
open override fun label(pattern: String, vararg ops: TextTransformer): LabelFormatter

Set the entity label from a pattern, replacing any ${} variables inside pattern with values from Entity.properties.

Link copied to clipboard
open override fun log(tag: String)

When --debug is passed to the CLI, prints tag and all elements currently in scope.

Link copied to clipboard
open override fun logCount(tag: String)

When --debug is passed to the CLI, prints tag and the count of elements currently in scope.

Link copied to clipboard
open override fun property(key: String, extract: Action<Iter<SignatureNode>, IterValues>): Property<SignatureNode>
open override fun property(entity: Entity.Type, key: String, extract: Action<Iter<SignatureNode>, IterValues>)

open override fun property(key: String, strategy: PropertyStrategy, extract: Action<Iter<SignatureNode>, IterValues>): Property<SignatureNode>

Associates entity property tag with result of extract action.

open override fun property(entity: Entity.Type, key: String, strategy: PropertyStrategy, extract: Action<Iter<SignatureNode>, IterValues>)

updates existing entities with property

Link copied to clipboard
open override fun readName(shorten: Boolean): Action<Iter<SignatureNode>, IterValues>

Reads the short form name of the element

fun readName(): Action<IterSignatures, IterValues>
Link copied to clipboard
fun readType(): Action<IterSignatures, IterValues>
Link copied to clipboard
fun scope(label: String, f: Signature.() -> Unit)
Link copied to clipboard
open operator override fun Entity.Type.set(key: String, children: Entity.Type)

This entity tracks children under the label denoted by key.

Link copied to clipboard
fun typeArgument(index: Int, f: Signature.() -> Unit)
Link copied to clipboard
Link copied to clipboard
open override fun <E : Enum<E>> withValue(value: E): Action<Iter<SignatureNode>, IterValues>
open override fun withValue(value: Boolean): Action<Iter<SignatureNode>, IterValues>
open override fun withValue(value: Number): Action<Iter<SignatureNode>, IterValues>
open override fun withValue(value: String): Action<Iter<SignatureNode>, IterValues>

open override fun withValue(value: Entity.Type): Action<Iter<SignatureNode>, IterValues>

Associates value with entity.