package util
- Alphabetic
- Public
- All
Type Members
-
case class
APIClassExtension(featureID: String, declClass: ObjectType) extends ClassExtension with Product with Serializable
Represents an extension of a specific class
-
sealed abstract
class
APIFeature extends AnyRef
A common super trait for API related features such as the usage of common or interesting APIs.
-
case class
APIFeatureGroup(apiMethods: Chain[APIMethod], featureID: String) extends APIFeature with Product with Serializable
Represents a collection of API methods that can be mapped to a single feature.
Represents a collection of API methods that can be mapped to a single feature. Most APIs provide multiple or slightly different API methods to achieve a single task, hence, it can be helpful to group those methods.
- Note
It is assumed that the passed featureID is unique throughout all feature extractors.
-
abstract
class
APIFeatureQuery extends FeatureQuery
A predefined query for finding simple API features.
A predefined query for finding simple API features. It supports - in particular - features that check for certain API calls. Subclasses are only required to define a
ChainofAPIFeatures.Example of an
apiFeaturedeclaration in a subclass:override def apiFeatures: Chain[APIFeatures] = Chain[APIFeature]( val Unsafe = ObjectType("sun/misc/Unsafe") StaticAPIMethod(Unsafe, "getUnsafe", MethodDescriptor("()Lsun/misc/Unsafe;")), APIFeatureGroup( Chain(InstanceAPIMethod(Unsafe, "allocateInstance")), "Unsafe - Alloc" ), APIFeatureGroup( Chain( InstanceAPIMethod(Unsafe, "arrayIndexScale"), InstanceAPIMethod(Unsafe, "arrayBaseOffset") ), "Unsafe - Array" ) )
-
sealed abstract
class
APIMethod extends APIFeature
Common trait that abstracts over instance and static api methods.
-
sealed abstract
class
ClassExtension extends APIFeature
Common trait that abstracts over all Class extension scenarios.
-
case class
InstanceAPIMethod(declClass: ObjectType, name: String, descriptor: Option[MethodDescriptor], fID: Option[String] = None) extends APIMethod with Product with Serializable
Represents an instance API call.
Represents an instance API call.
- declClass
ObjectType of the receiver.
- name
Name of the API method.
- descriptor
Optional method descriptor, is no descriptor assigned, it represents all methods with the same name, declared in the same class.
-
case class
StaticAPIMethod(declClass: ObjectType, name: String, descriptor: Option[MethodDescriptor], fID: Option[String] = None) extends APIMethod with Product with Serializable
Represents a static API call.
Represents a static API call.
- declClass
ObjectType of the receiver.
- name
Name of the API method.
- descriptor
Optional method descriptor, is no descriptor assigned, it represents all methods with the same name, declared in the same class.
Value Members
-
object
InstanceAPIMethod extends Serializable
Factory for InstanceMethods.
-
object
StaticAPIMethod extends Serializable
Factory for InstanceMethods.