DeclarationDescriptor

interface DeclarationDescriptor : Named, Annotated

Functions

annotations
Link copied to clipboard
abstract fun annotations(): Annotations
element
Link copied to clipboard
abstract fun element(): Element?
impl
Link copied to clipboard
abstract fun impl(): Any

Properties

containingDeclaration
Link copied to clipboard
abstract val containingDeclaration: DeclarationDescriptor?
containingPackage
Link copied to clipboard
abstract val containingPackage: FqName?
fqNameSafe
Link copied to clipboard
abstract val fqNameSafe: FqName
hasDoNotLookAtArgumentsAnnotation
Link copied to clipboard
open val hasDoNotLookAtArgumentsAnnotation: Boolean
hasPackageWithLawsAnnotation
Link copied to clipboard
open val hasPackageWithLawsAnnotation: Boolean
hasPreOrPostAnnotation
Link copied to clipboard
open val hasPreOrPostAnnotation: Boolean
name
Link copied to clipboard
abstract val name: Name
packageWithLawsAnnotation
Link copied to clipboard
open val packageWithLawsAnnotation: AnnotationDescriptor?

Inheritors

CallableDescriptor
Link copied to clipboard
ClassDescriptor
Link copied to clipboard
DeclarationDescriptorWithVisibility
Link copied to clipboard
MemberDescriptor
Link copied to clipboard
ModuleDescriptor
Link copied to clipboard
PackageFragmentDescriptor
Link copied to clipboard
PackageViewDescriptor
Link copied to clipboard

Extensions

gather
Link copied to clipboard
fun DeclarationDescriptor.gather(predicate: (DeclarationDescriptor) -> Boolean): List<DeclarationDescriptor>

Gather all descriptors which satisfy a predicate, going inside every element recursively.

isALaw
Link copied to clipboard
fun DeclarationDescriptor.isALaw(): Boolean

returns true if we have declared something with a @Law or lives inside an object that inherits Laws

isCompatibleWith
Link copied to clipboard

check if a descriptor is compatible with other, in the sense that they refer to a function with the same signature

isField
Link copied to clipboard
fun DeclarationDescriptor.isField(): Boolean

should we treat a node as a field and create 'field(name, x)'?

isLooselyCompatibleWith
Link copied to clipboard

check if a descriptor is compatible with other, in the sense that the arguments are (possibly) supertypes

overriddenDescriptors
Link copied to clipboard

Obtain the descriptors which have been overridden by a declaration, if they exist

withAliasUnwrapped
Link copied to clipboard

Removes the indirection from type aliases in a descriptor.