
org.opalj.br.fpcf.properties.VirtualMethodAllocationFreeness.scala Maven / Gradle / Ivy
The newest version!
/* BSD 2-Clause License - see OPAL/LICENSE for details. */
package org.opalj
package br
package fpcf
package properties
import org.opalj.fpcf.PropertyKey
import org.opalj.fpcf.PropertyMetaInformation
sealed trait VirtualMethodAllocationFreenessPropertyMetaInformation
extends PropertyMetaInformation {
final type Self = VirtualMethodAllocationFreeness
}
/**
* Describes the aggregated allocation freeness for a virtual method.
*
* @author Dominik Helm
*/
sealed case class VirtualMethodAllocationFreeness(
individualProperty: AllocationFreeness
) extends AggregatedProperty[AllocationFreeness, VirtualMethodAllocationFreeness]
with VirtualMethodAllocationFreenessPropertyMetaInformation {
/**
* The globally unique key of the [[VirtualMethodAllocationFreeness]] property.
*/
final def key: PropertyKey[VirtualMethodAllocationFreeness] =
VirtualMethodAllocationFreeness.key
override def toString: String = s"VirtualMethodAllocationFreeness($individualProperty)"
}
object VirtualMethodAllocationFreeness
extends VirtualMethodAllocationFreenessPropertyMetaInformation {
final val VAllocationFreeMethod = AllocationFreeMethod.aggregatedProperty
final val VMethodWithAllocations = MethodWithAllocations.aggregatedProperty
/**
* The key associated with every virtual method allocation freeness property. The name is
* "VirtualMethodAllocationFreeness"; the fallback is "VMethodWithAllocations".
*/
final val key = PropertyKey.create[DeclaredMethod, VirtualMethodAllocationFreeness](
"VirtualMethodAllocationFreeness",
VMethodWithAllocations
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy