Package-level declarations

Types

Link copied to clipboard
class AnalysisProfile(val analyzeStdLib: Boolean)

Configures how different code sections should be analyzed. Used to control which classes should be transformed for analysis, what analysis sections should be applied, and which methods should be hidden from trace results.

Link copied to clipboard

Represents different types of analysis sections within the Lincheck framework. These sections provide various analysis guarantees and characteristics.

Link copied to clipboard

Represents a set of Java Development Kit (JDK) major versions since JDK 6.

Link copied to clipboard
object Logger
Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard

This property on the top level serves as a cache. We will call ideaPluginEnabled method only once and so on the plugin side the callback will be called also only once.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Indicates whether the current Java Development Kit (JDK) version is JDK 8.

Link copied to clipboard

Determines the current JDK version based on the java.specification.version system property. If the system property indicates an unsupported JDK version, an error is thrown.

Functions

Link copied to clipboard

Disables analysis for the current thread.

Link copied to clipboard

Enables analysis for the current thread.

Link copied to clipboard
inline fun <T> T.ensure(predicate: (T) -> Boolean): T
inline fun <T> T.ensure(predicate: (T) -> Boolean, lazyMessage: (T?) -> Any): T
Link copied to clipboard
Link copied to clipboard
fun <T> T?.ensureNull(): T?
fun <T> T?.ensureNull(lazyMessage: (T?) -> Any): T?
Link copied to clipboard
Link copied to clipboard

Enters an ignored section for the current thread.

Link copied to clipboard
fun findFieldNameByOffsetViaUnsafe(targetType: Class<*>, offset: Long): String?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Checks if the given class name belongs to the IntelliJ runtime agents.

Link copied to clipboard

Checks if the given class name belongs to the IntelliJ runtime coverage agent package.

Link copied to clipboard

Checks if the given class name belongs to the IntelliJ runtime debugger agent package.

Link copied to clipboard

Test if the given class name corresponds to a Java lambda class.

Link copied to clipboard
Link copied to clipboard

Tests if the provided className represents one of jdk internal ThreadContainer classes that use JavaLangAccess.start API to start threads.

Link copied to clipboard

Leaves an ignored section for the current thread.

Link copied to clipboard
fun readArrayElementViaUnsafe(arr: Any, index: Int): Any?
Link copied to clipboard
fun readFieldSafely(obj: Any?, field: Field): Result<Any?>

Reads a field of the owner object obj via Unsafe, in case of failure fallbacks into reading the field via reflection.

Link copied to clipboard
fun readFieldViaUnsafe(obj: Any?, field: Field): Any?
inline fun <T> readFieldViaUnsafe(obj: Any?, field: Field, getter: Unsafe.(Any?, Long) -> T): T
Link copied to clipboard
inline fun <R> runInsideIgnoredSection(block: () -> R): R

Executes a given block of code within an ignored section.

Link copied to clipboard
inline fun <R> runOutsideIgnoredSection(block: () -> R): R

Exits the ignored section and invokes the provided block outside an ignored section, restoring the ignored section back after the block is executed.

Link copied to clipboard
fun writeArrayElementViaUnsafe(arr: Any, index: Int, value: Any?): Any?
Link copied to clipboard
fun writeFieldViaUnsafe(obj: Any?, field: Field, value: Any?)
inline fun writeFieldViaUnsafe(obj: Any?, field: Field, value: Any?, setter: Unsafe.(Any?, Long, Any?) -> Unit)