Fields

class Fields : Core<FieldNode> , Annotatable<FieldNode> , FilterableByVisibility<FieldNode> , FilterableByAccessFlag<FieldNode> , FilterableByType<FieldNode> , CommonOperations<FieldNode, Fields> , ParentOperations<ClassNode, Classes> (source)

Fields scope.

See also

Functions

Link copied to clipboard
open override fun annotatedBy(annotation: SiftType)

Filter elements that are decorated by annotation

Link copied to clipboard
inline fun <T> Annotatable<*>.annotatedBy()
Link copied to clipboard
open override fun annotations(filter: SiftType?, f: Annotations.() -> Unit)
open override fun annotations(label: String?, filter: SiftType?, f: Annotations.() -> Unit)
Link copied to clipboard
open override fun editor(vararg ops: TextTransformer): Action<Iter<FieldNode>, IterValues>

internal function primarily used during graphviz dot generation

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

register entity

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

new entity with label inferred from introspected bytecode element

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

new entity with label from labelFormatter

Link copied to clipboard
fun explodeType(synthesize: Boolean = false, f: Classes.() -> Unit)
Link copied to clipboard
open fun filter(string: String, invert: Boolean = false)
open override fun filter(regex: Regex, invert: Boolean)

fun filter(entity: Entity.Type)

Filters elements that belongs to entity.

open override fun filter(vararg modifiers: AccessFlags, invert: Boolean)

filter elements by access modifiers

open override fun filter(modifiers: List<AccessFlags>, invert: Boolean)

filter elements by access flags

open override fun filter(access: Visibility, invert: Boolean)

filter elements by visibility

Link copied to clipboard
open override fun filterType(type: SiftType)

Filters elements to include only those representing a matching type.

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 outerScope(label: String, f: Classes.() -> Unit)
Link copied to clipboard
open override fun property(key: String, extract: Action<Iter<FieldNode>, IterValues>): Property<FieldNode>
open override fun property(entity: Entity.Type, key: String, extract: Action<Iter<FieldNode>, IterValues>)

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

Associates entity property tag with result of extract action.

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

updates existing entities with property

Link copied to clipboard
open override fun readAnnotation(annotation: SiftType, attribute: String): Action<Iter<FieldNode>, IterValues>

Reads the element value of the attribute name belonging to annotation. If the element value is an array, the array is flattened when added to entity properties.

inline fun <T : Annotation> readAnnotation(field: KProperty1<T, *>): Action<IterFields, IterValues>
Link copied to clipboard
open override fun readName(shorten: Boolean): Action<Iter<FieldNode>, IterValues>

Reads the short form name of the element

Link copied to clipboard
open override fun scope(label: String, f: Fields.() -> Unit)
open override fun scope(label: String, op: ScopeEntityPredicate, entity: Entity.Type, f: Fields.() -> 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 signature(f: Signature.() -> Unit)
Link copied to clipboard
open override fun <E : Enum<E>> withValue(value: E): Action<Iter<FieldNode>, IterValues>
open override fun withValue(value: Boolean): Action<Iter<FieldNode>, IterValues>
open override fun withValue(value: Number): Action<Iter<FieldNode>, IterValues>
open override fun withValue(value: String): Action<Iter<FieldNode>, IterValues>

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

Associates value with entity.