Methods

class Methods : Core<MethodNode> , Annotatable<MethodNode> , FilterableByAccessFlag<MethodNode> , FilterableByVisibility<MethodNode> , CommonOperations<MethodNode, Methods> , ParentOperations<ClassNode, Classes> (source)

Methods scope.

See also

Properties

Link copied to clipboard
val Entity.Type.fieldAccess: EntityResolution
Link copied to clipboard
val Entity.Type.instantiations: EntityResolution
Link copied to clipboard
val Entity.Type.invocations: EntityResolution

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<MethodNode>, IterValues>

internal function primarily used during graphviz dot generation

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

register entity

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

new entity with label inferred from introspected bytecode element

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

new entity with label from labelFormatter

Link copied to clipboard
fun fieldAccess(f: Fields.() -> Unit)

iterate fields accessed by current methods

Link copied to clipboard
open fun filter(string: String, invert: Boolean = false)

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

open override fun filter(regex: Regex, invert: Boolean)

filter elements by name and owner

Link copied to clipboard
fun filterName(name: String, invert: Boolean = false)
fun filterName(regex: Regex, invert: Boolean = false)
Link copied to clipboard
fun instantiationsOf(type: Entity.Type, f: Classes.() -> Unit)
Link copied to clipboard
fun invocationsOf(type: Entity.Type, synthesize: Boolean = false, f: Methods.() -> Unit)
Link copied to clipboard
fun invokes(type: Entity.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
fun parameters(selection: ParameterSelection = all, f: Parameters.() -> Unit)
fun parameters(label: String?, selection: ParameterSelection = all, f: Parameters.() -> Unit)
Link copied to clipboard
open override fun property(key: String, extract: Action<Iter<MethodNode>, IterValues>): Property<MethodNode>
open override fun property(entity: Entity.Type, key: String, extract: Action<Iter<MethodNode>, IterValues>)

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

Associates entity property tag with result of extract action.

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

updates existing entities with property

Link copied to clipboard
open override fun readAnnotation(annotation: SiftType, attribute: String): Action<Iter<MethodNode>, 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<IterMethods, IterValues>
Link copied to clipboard
open override fun readName(shorten: Boolean): Action<Iter<MethodNode>, IterValues>

Reads the short form name of the element

Link copied to clipboard
fun returns(f: Signature.() -> Unit)
Link copied to clipboard
open override fun scope(label: String, f: Methods.() -> Unit)
open override fun scope(label: String, op: ScopeEntityPredicate, entity: Entity.Type, f: Methods.() -> 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.

operator fun EntityResolution.set(key: String, rhs: Entity.Type)
operator fun Entity.Type.set(key: String, rhs: EntityResolution)
Link copied to clipboard
open override fun <E : Enum<E>> withValue(value: E): Action<Iter<MethodNode>, IterValues>
open override fun withValue(value: Boolean): Action<Iter<MethodNode>, IterValues>
open override fun withValue(value: Number): Action<Iter<MethodNode>, IterValues>
open override fun withValue(value: String): Action<Iter<MethodNode>, IterValues>

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

Associates value with entity.