Setup the website publishing pipeline (#3199)

* Setup a website publishing pipeline

* Revert Url back to https://detekt.github.io/detekt/

* Deploy only on master

* Remove extra blank line

* Update Java in pipeline to 11

* Remove remaining documentation page
This commit is contained in:
Nicola Corti
2020-11-06 12:45:47 +01:00
committed by GitHub
parent edaa3e956d
commit 7f8ee20d75
274 changed files with 112 additions and 11812 deletions

102
.github/workflows/deploy-website.yaml vendored Normal file
View File

@@ -0,0 +1,102 @@
name: Deploy Website
on:
push:
branches:
- master
jobs:
build-detekt-docs:
runs-on: ubuntu-latest
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Cache Gradle Folders
uses: actions/cache@v2
with:
path: |
~/.gradle/caches/
~/.gradle/wrapper/
key: cache-gradle-${{ hashFiles('detekt-bom/build.gradle.kts') }}
restore-keys: |
cache-gradle-
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: 11
- name: Build Detekt Documentation
run: ./gradlew :detekt-generator:generateDocumentation --build-cache --parallel
- name: Upload Generated Rules documentation
uses: actions/upload-artifact@v2
with:
name: detekt-generated-docs
path: docs/pages/documentation/
- name: Upload KDoc documentation
uses: actions/upload-artifact@v2
with:
name: detekt-kdoc
path: docs/pages/kdoc/
build-website:
needs: build-detekt-docs
runs-on: ubuntu-latest
container: jekyll/builder
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: docs/vendor/bundle
key: cache-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: cache-gems-
- name: Unzipping Generated Rules documentation
uses: actions/download-artifact@v2
with:
name: detekt-generated-docs
path: docs/pages/documentation/
- name: Unzipping KDoc documentation
uses: actions/download-artifact@v2
with:
name: detekt-kdoc
path: docs/pages/kdoc/
- name: Display structure of files
run: ls -R
working-directory: docs/
- name: Create Directories
run: |
mkdir _site/
mkdir -p vendor/bundle/
chmod -R 777 _site/
chmod -R 777 vendor/
working-directory: docs/
- name: Install Ruby Dependencies
working-directory: docs/
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Build the Jekyll Website
run: bundle exec jekyll build -d _site/
working-directory: docs/
- name: Deploy Github Pages
uses: JamesIves/github-pages-deploy-action@3.7.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: docs/_site/

View File

@@ -60,7 +60,7 @@ jobs:
run: java -jar ./detekt-cli/build/run/detekt "@./config/detekt/argsfile"
verify-documentation:
verify-generated-config-file:
if: ${{ !contains(github.event.head_commit.message, 'ci skip') }}
runs-on: ubuntu-latest
env:
@@ -84,7 +84,7 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 14
- name: Verify Generator Output
- name: Verify Generated Detekt Config File
run: ./gradlew verifyGeneratorOutput

5
.gitignore vendored
View File

@@ -163,3 +163,8 @@ target/
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Avoid committing generated documentation to the repo
/docs/pages/documentation
/docs/pages/kdoc
/docs/vendor/

View File

@@ -57,10 +57,9 @@ val generateDocumentation by tasks.registering {
val verifyGeneratorOutput by tasks.registering {
dependsOn(generateDocumentation)
description = "Verifies that all documentation and the config.yml are up-to-date"
description = "Verifies that the default-detekt-config.yml is up-to-date"
doLast {
assertDefaultConfigUpToDate()
assertDocumentationUpToDate()
}
}
@@ -76,18 +75,3 @@ fun assertDefaultConfigUpToDate() {
"You can execute the generateDocumentation Gradle task to update it and commit the changed files.")
}
}
fun assertDocumentationUpToDate() {
val configDiff = ByteArrayOutputStream()
exec {
commandLine = listOf(
"git", "diff", documentationDir, "${rootProject.rootDir}/docs/pages/kdoc"
)
standardOutput = configDiff
}
if (configDiff.toString().isNotEmpty()) {
throw GradleException("The detekt documentation is not up-to-date. " +
"Please build detekt locally to update it and commit the changed files.")
}
}

View File

@@ -33,6 +33,7 @@ port: 4000
exclude:
- .idea/
- .gitignore
- vendor/
# these are the files and directories that jekyll will exclude from the build
feedback_subject_line: detekt documentation
@@ -111,6 +112,6 @@ description: "Meet detekt, a static code analysis tool for Kotlin."
# needed for sitemap.xml file only
url: https://detekt.github.io/detekt/
baseurl: /
baseurl: /detekt/
detekt_version: 1.14.2

View File

@@ -1,122 +0,0 @@
---
title: Comments Rule Set
sidebar: home_sidebar
keywords: rules, comments
permalink: comments.html
toc: true
folder: documentation
---
This rule set provides rules that address issues in comments and documentation
of the code.
### AbsentOrWrongFileLicense
This rule will report every Kotlin source file which doesn't have the required license header.
The rule checks each Kotlin source file whether the header starts with the read text from the passed file in the
`licenseTemplateFile` configuration option.
**Severity**: Maintainability
**Debt**: 5min
#### Configuration options:
* ``licenseTemplateFile`` (default: ``'license.template'``)
path to file with license header template resolved relatively to config file
### CommentOverPrivateFunction
This rule reports comments and documentation that has been added to private functions. These comments get reported
because they probably explain the functionality of the private function. However private functions should be small
enough and have an understandable name so that they are self-explanatory and do not need this comment in the first
place.
Instead of simply removing this comment to solve this issue prefer to split up the function into smaller functions
with better names if necessary. Giving the function a better, more descriptive name can also help in
solving this issue.
**Severity**: Maintainability
**Debt**: 20min
### CommentOverPrivateProperty
This rule reports comments and documentation above private properties. This can indicate that the property has a
confusing name or is not in a small enough context to be understood.
Private properties should be named in a self-explanatory way and readers of the code should be able to understand
why the property exists and what purpose it solves without the comment.
Instead of simply removing the comment to solve this issue prefer renaming the property to a more self-explanatory
name. If this property is inside a bigger class it could make senes to refactor and split up the class. This can
increase readability and make the documentation obsolete.
**Severity**: Maintainability
**Debt**: 20min
### EndOfSentenceFormat
This rule validates the end of the first sentence of a KDoc comment.
It should end with proper punctuation or with a correct URL.
**Severity**: Maintainability
**Debt**: 5min
#### Configuration options:
* ``endOfSentenceFormat`` (default: ``'([.?!][ \t\n\r\f<])|([.?!:]$)'``)
regular expression which should match the end of the first sentence in the KDoc
### UndocumentedPublicClass
This rule reports public classes, objects and interfaces which do not have the required documentation.
Enable this rule if the codebase should have documentation on every public class, interface and object.
By default this rule also searches for nested and inner classes and objects. This default behavior can be changed
with the configuration options of this rule.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``searchInNestedClass`` (default: ``true``)
if nested classes should be searched
* ``searchInInnerClass`` (default: ``true``)
if inner classes should be searched
* ``searchInInnerObject`` (default: ``true``)
if inner objects should be searched
* ``searchInInnerInterface`` (default: ``true``)
if inner interfaces should be searched
### UndocumentedPublicFunction
This rule will report any public function which does not have the required documentation.
If the codebase should have documentation on all public functions enable this rule to enforce this.
Overridden functions are excluded by this rule.
**Severity**: Maintainability
**Debt**: 20min
### UndocumentedPublicProperty
This rule will report any public property which does not have the required documentation.
This also includes public properties defined in a primary constructor.
If the codebase should have documentation on all public properties enable this rule to enforce this.
Overridden properties are excluded by this rule.
**Severity**: Maintainability
**Debt**: 20min

View File

@@ -1,446 +0,0 @@
---
title: Complexity Rule Set
sidebar: home_sidebar
keywords: rules, complexity
permalink: complexity.html
toc: true
folder: documentation
---
This rule set contains rules that report complex code.
### ComplexCondition
Complex conditions make it hard to understand which cases lead to the condition being true or false. To improve
readability and understanding of complex conditions consider extracting them into well-named functions or variables
and call those instead.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``4``)
the number of conditions which will trigger the rule
#### Noncompliant Code:
```kotlin
val str = "foo"
val isFoo = if (str.startsWith("foo") && !str.endsWith("foo") && !str.endsWith("bar") && !str.endsWith("_")) {
// ...
}
```
#### Compliant Code:
```kotlin
val str = "foo"
val isFoo = if (str.startsWith("foo") && hasCorrectEnding()) {
// ...
}
fun hasCorrectEnding() = return !str.endsWith("foo") && !str.endsWith("bar") && !str.endsWith("_")
```
### ComplexInterface
Complex interfaces which contain too many functions and/or properties indicate that this interface is handling too
many things at once. Interfaces should follow the single-responsibility principle to also encourage implementations
of this interface to not handle too many things at once.
Large interfaces should be split into smaller interfaces which have a clear responsibility and are easier
to understand and implement.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``10``)
the amount of definitions in an interface to trigger the rule
* ``includeStaticDeclarations`` (default: ``false``)
whether static declarations should be included
* ``includePrivateDeclarations`` (default: ``false``)
whether private declarations should be included
### ComplexMethod
Complex methods are hard to understand and read. It might not be obvious what side-effects a complex method has.
Prefer splitting up complex methods into smaller methods that are in turn easier to understand.
Smaller methods can also be named much clearer which leads to improved readability of the code.
This rule uses McCabe's Cyclomatic Complexity (MCC) metric to measure the number of
linearly independent paths through a function's source code (https://www.ndepend.com/docs/code-metrics#CC).
The higher the number of independent paths, the more complex a method is.
Complex methods use too many of the following statements.
Each one of them adds one to the complexity count.
- __Conditional statements__ - `if`, `else if`, `when`
- __Jump statements__ - `continue`, `break`
- __Loops__ - `for`, `while`, `do-while`, `forEach`
- __Operators__ `&&`, `||`, `?:`
- __Exceptions__ - `catch`, `use`
- __Scope Functions__ - `let`, `run`, `with`, `apply`, and `also` ->
[Reference](https://kotlinlang.org/docs/reference/scope-functions.html)
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``15``)
McCabe's Cyclomatic Complexity (MCC) number for a method
* ``ignoreSingleWhenExpression`` (default: ``false``)
Ignores a complex method if it only contains a single when expression.
* ``ignoreSimpleWhenEntries`` (default: ``false``)
Whether to ignore simple (braceless) when entries.
* ``ignoreNestingFunctions`` (default: ``false``)
Whether to ignore functions which are often used instead of an `if` or
`for` statement
* ``nestingFunctions`` (default: ``[run, let, apply, with, also, use, forEach, isNotNull, ifNull]``)
Comma separated list of function names which add complexity
### LabeledExpression
This rule reports labeled expressions. Expressions with labels generally increase complexity and worsen the
maintainability of the code. Refactor the violating code to not use labels instead.
Labeled expressions referencing an outer class with a label from an inner class are allowed, because there is no
way to get the instance of an outer class from an inner class in Kotlin.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``ignoredLabels`` (default: ``[]``)
allows to provide a list of label names which should be ignored by this rule
#### Noncompliant Code:
```kotlin
val range = listOf<String>("foo", "bar")
loop@ for (r in range) {
if (r == "bar") break@loop
println(r)
}
class Outer {
inner class Inner {
fun f() {
val i = this@Inner // referencing itself, use `this instead
}
}
}
```
#### Compliant Code:
```kotlin
val range = listOf<String>("foo", "bar")
for (r in range) {
if (r == "bar") break
println(r)
}
class Outer {
inner class Inner {
fun f() {
val outer = this@Outer
}
fun Int.extend() {
val inner = this@Inner // this would reference Int and not Inner
}
}
}
```
### LargeClass
This rule reports large classes. Classes should generally have one responsibility. Large classes can indicate that
the class does instead handle multiple responsibilities. Instead of doing many things at once prefer to
split up large classes into smaller classes. These smaller classes are then easier to understand and handle less
things.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``600``)
the size of class required to trigger the rule
### LongMethod
Methods should have one responsibility. Long methods can indicate that a method handles too many cases at once.
Prefer smaller methods with clear names that describe their functionality clearly.
Extract parts of the functionality of long methods into separate, smaller methods.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``60``)
number of lines in a method to trigger the rule
### LongParameterList
Reports functions and constructors which have more parameters than a certain threshold.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ~~``threshold``~~ (default: ``6``)
**Deprecated**: Use `functionThreshold` and `constructorThreshold` instead
number of parameters required to trigger the rule
* ``functionThreshold`` (default: ``6``)
number of function parameters required to trigger the rule
* ``constructorThreshold`` (default: ``7``)
number of constructor parameters required to trigger the rule
* ``ignoreDefaultParameters`` (default: ``false``)
ignore parameters that have a default value
* ``ignoreDataClasses`` (default: ``true``)
ignore long constructor parameters list for data classes
* ``ignoreAnnotated`` (default: ``[]``)
ignore long parameters list for constructors or functions in the context of these
annotation class names ; (e.g. ['Inject', 'Module', 'Suppress']);
the most common case is for dependency injection where constructors are annotated with @Inject.
### MethodOverloading
This rule reports methods which are overloaded often.
Method overloading tightly couples these methods together which might make the code harder to understand.
Refactor these methods and try to use optional parameters instead to prevent some of the overloading.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``6``)
number of overloads which will trigger the rule
### NamedArguments
Reports function invocations which have more parameters than a certain threshold and are all not named.
**Severity**: Maintainability
**Debt**: 5min
#### Configuration options:
* ``threshold`` (default: ``3``)
number of parameters that triggers this inspection
#### Noncompliant Code:
```kotlin
fun sum(a: Int, b: Int, c: Int, d: Int) {
}
sum(1, 2, 3, 4)
```
#### Compliant Code:
```kotlin
fun sum(a: Int, b: Int, c: Int, d: Int) {
}
sum(a = 1, b = 2, c = 3, d = 4)
```
### NestedBlockDepth
This rule reports excessive nesting depth in functions. Excessively nested code becomes harder to read and increases
its hidden complexity. It might become harder to understand edge-cases of the function.
Prefer extracting the nested code into well-named functions to make it easier to understand.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``threshold`` (default: ``4``)
the nested depth required to trigger rule
### ReplaceSafeCallChainWithRun
Chains of safe calls on non-nullable types are redundant and can be removed by enclosing the redundant safe calls in
a `run {}` block. This improves code coverage and reduces cyclomatic complexity as redundant null checks are removed.
This rule only checks from the end of a chain and works backwards, so it won't recommend inserting run blocks in the
middle of a safe call chain as that is likely to make the code more difficult to understand.
The rule will check for every opportunity to replace a safe call when it sits at the end of a chain, even if there's
only one, as that will still improve code coverage and reduce cyclomatic complexity.
**Requires Type Resolution**
**Severity**: Maintainability
**Debt**: 10min
#### Noncompliant Code:
```kotlin
val x = System.getenv()
?.getValue("HOME")
?.toLowerCase()
?.split("/") ?: emptyList()
```
#### Compliant Code:
```kotlin
val x = getenv()?.run {
getValue("HOME")
.toLowerCase()
.split("/")
} ?: emptyList()
```
### StringLiteralDuplication
This rule detects and reports duplicated String literals. Repeatedly typing out the same String literal across the
codebase makes it harder to change and maintain.
Instead, prefer extracting the String literal into a property or constant.
**Severity**: Maintainability
**Debt**: 5min
#### Configuration options:
* ``threshold`` (default: ``3``)
amount of duplications to trigger rule
* ``ignoreAnnotation`` (default: ``true``)
if values in Annotations should be ignored
* ``excludeStringsWithLessThan5Characters`` (default: ``true``)
if short strings should be excluded
* ``ignoreStringsRegex`` (default: ``'$^'``)
RegEx of Strings that should be ignored
#### Noncompliant Code:
```kotlin
class Foo {
val s1 = "lorem"
fun bar(s: String = "lorem") {
s1.equals("lorem")
}
}
```
#### Compliant Code:
```kotlin
class Foo {
val lorem = "lorem"
val s1 = lorem
fun bar(s: String = lorem) {
s1.equals(lorem)
}
}
```
### TooManyFunctions
This rule reports files, classes, interfaces, objects and enums which contain too many functions.
Each element can be configured with different thresholds.
Too many functions indicate a violation of the single responsibility principle. Prefer extracting functionality
which clearly belongs together in separate parts of the code.
**Severity**: Maintainability
**Debt**: 20min
#### Configuration options:
* ``thresholdInFiles`` (default: ``11``)
threshold in files
* ``thresholdInClasses`` (default: ``11``)
threshold in classes
* ``thresholdInInterfaces`` (default: ``11``)
threshold in interfaces
* ``thresholdInObjects`` (default: ``11``)
threshold in objects
* ``thresholdInEnums`` (default: ``11``)
threshold in enums
* ``ignoreDeprecated`` (default: ``false``)
ignore deprecated functions
* ``ignorePrivate`` (default: ``false``)
ignore private functions
* ``ignoreOverridden`` (default: ``false``)
ignore overridden functions

View File

@@ -1,128 +0,0 @@
---
title: Coroutines Rule Set
sidebar: home_sidebar
keywords: rules, coroutines
permalink: coroutines.html
toc: true
folder: documentation
---
The coroutines rule set analyzes code for potential coroutines problems.
### GlobalCoroutineUsage
Report usages of `GlobalScope.launch` and `GlobalScope.async`. It is highly discouraged by the Kotlin documentation:
> Global scope is used to launch top-level coroutines which are operating on the whole application lifetime and are
> not cancelled prematurely.
> Application code usually should use an application-defined CoroutineScope. Using async or launch on the instance
> of GlobalScope is highly discouraged.
See https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-global-scope/
**Severity**: Defect
**Debt**: 10min
#### Noncompliant Code:
```kotlin
fun foo() {
GlobalScope.launch { delay(1_000L) }
}
```
#### Compliant Code:
```kotlin
val scope = CoroutineScope(Dispatchers.Default)
fun foo() {
scope.launch { delay(1_000L) }
}
fun onDestroy() {
scope.cancel()
}
```
### RedundantSuspendModifier
`suspend` modifier should only be used where needed, otherwise the function can only be used from other suspending
functions. This needlessly restricts use of the function and should be avoided by removing the `suspend` modifier
where it's not needed.
**Requires Type Resolution**
**Severity**: Minor
**Debt**: 5min
#### Noncompliant Code:
```kotlin
suspend fun normalFunction() {
println("string")
}
```
#### Compliant Code:
```kotlin
fun normalFunction() {
println("string")
}
```
### SuspendFunWithFlowReturnType
Functions that return `Flow` from `kotlinx.coroutines.flow` should not be marked as `suspend`.
`Flows` are intended to be cold observable streams. The act of simply invoking a function that
returns a `Flow`, should not have any side effects. Only once collection begins against the
returned `Flow`, should work actually be done.
See https://kotlinlang.org/docs/reference/coroutines/flow.html#flows-are-cold
**Requires Type Resolution**
**Severity**: Minor
**Debt**: 10min
#### Noncompliant Code:
```kotlin
suspend fun observeSignals(): Flow<Unit> {
val pollingInterval = getPollingInterval() // Done outside of the flow builder block.
return flow {
while (true) {
delay(pollingInterval)
emit(Unit)
}
}
}
private suspend fun getPollingInterval(): Long {
// Return the polling interval from some repository
// in a suspending manner.
}
```
#### Compliant Code:
```kotlin
fun observeSignals(): Flow<Unit> {
return flow {
val pollingInterval = getPollingInterval() // Moved into the flow builder block.
while (true) {
delay(pollingInterval)
emit(Unit)
}
}
}
private suspend fun getPollingInterval(): Long {
// Return the polling interval from some repository
// in a suspending manner.
}
```

View File

@@ -1,155 +0,0 @@
---
title: Empty-blocks Rule Set
sidebar: home_sidebar
keywords: rules, empty-blocks
permalink: empty-blocks.html
toc: true
folder: documentation
---
The empty-blocks ruleset contains rules that will report empty blocks of code
which should be avoided.
### EmptyCatchBlock
Reports empty `catch` blocks. Empty catch blocks indicate that an exception is ignored and not handled.
In case exceptions are ignored intentionally, this should be made explicit
by using the specified names in the `allowedExceptionNameRegex`.
**Severity**: Minor
**Debt**: 5min
#### Configuration options:
* ``allowedExceptionNameRegex`` (default: ``'_|(ignore|expected).*'``)
ignores exception types which match this regex
### EmptyClassBlock
Reports empty classes. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyDefaultConstructor
Reports empty default constructors. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyDoWhileBlock
Reports empty `do`/`while` loops. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyElseBlock
Reports empty `else` blocks. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyFinallyBlock
Reports empty `finally` blocks. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyForBlock
Reports empty `for` loops. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyFunctionBlock
Reports empty functions. Empty blocks of code serve no purpose and should be removed.
This rule will not report functions with the override modifier that have a comment as their only body contents
(e.g., a // no-op comment in an unused listener function).
Set the [ignoreOverridden] parameter to `true` to exclude all functions which are overriding other
functions from the superclass or from an interface (i.e., functions declared with the override modifier).
**Severity**: Minor
**Debt**: 5min
#### Configuration options:
* ~~``ignoreOverriddenFunctions``~~ (default: ``false``)
**Deprecated**: Use `ignoreOverridden` instead
Excludes all the overridden functions
* ``ignoreOverridden`` (default: ``false``)
Excludes all the overridden functions
### EmptyIfBlock
Reports empty `if` blocks. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyInitBlock
Reports empty `init` expressions. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyKtFile
Reports empty Kotlin (.kt) files. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptySecondaryConstructor
Reports empty secondary constructors. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyTryBlock
Reports empty `try` blocks. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyWhenBlock
Reports empty `when` expressions. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min
### EmptyWhileBlock
Reports empty `while` expressions. Empty blocks of code serve no purpose and should be removed.
**Severity**: Minor
**Debt**: 5min

View File

@@ -1,465 +0,0 @@
---
title: Exceptions Rule Set
sidebar: home_sidebar
keywords: rules, exceptions
permalink: exceptions.html
toc: true
folder: documentation
---
Rules in this rule set report issues related to how code throws and handles Exceptions.
### ExceptionRaisedInUnexpectedLocation
This rule allows to define functions which should never throw an exception. If a function exists that does throw
an exception it will be reported. By default this rule is checking for `toString`, `hashCode`, `equals` and
`finalize`. This rule is configurable via the `methodNames` configuration to change the list of functions which
should not throw any exceptions.
**Severity**: CodeSmell
**Debt**: 20min
#### Configuration options:
* ``methodNames`` (default: ``[toString, hashCode, equals, finalize]``)
methods which should not throw exceptions
#### Noncompliant Code:
```kotlin
class Foo {
override fun toString(): String {
throw IllegalStateException() // exception should not be thrown here
}
}
```
### InstanceOfCheckForException
This rule reports `catch` blocks which check for the type of an exception via `is` checks or casts.
Instead of catching generic exception types and then checking for specific exception types the code should
use multiple catch blocks. These catch blocks should then catch the specific exceptions.
**Severity**: CodeSmell
**Debt**: 20min
#### Noncompliant Code:
```kotlin
fun foo() {
try {
// ... do some I/O
} catch(e: IOException) {
if (e is MyException || (e as MyException) != null) { }
}
}
```
#### Compliant Code:
```kotlin
fun foo() {
try {
// ... do some I/O
} catch(e: MyException) {
} catch(e: IOException) {
}
```
### NotImplementedDeclaration
This rule reports all exceptions of the type `NotImplementedError` that are thrown. It also reports all `TODO(..)`
functions.
These indicate that functionality is still under development and will not work properly. Both of these should only
serve as temporary declarations and should not be put into production environments.
**Severity**: CodeSmell
**Debt**: 20min
#### Noncompliant Code:
```kotlin
fun foo() {
throw NotImplementedError()
}
fun todo() {
TODO("")
}
```
### PrintStackTrace
This rule reports code that tries to print the stacktrace of an exception. Instead of simply printing a stacktrace
a better logging solution should be used.
**Severity**: CodeSmell
**Debt**: 20min
#### Noncompliant Code:
```kotlin
fun foo() {
Thread.dumpStack()
}
fun bar() {
try {
// ...
} catch (e: IOException) {
e.printStackTrace()
}
}
```
#### Compliant Code:
```kotlin
val LOGGER = Logger.getLogger()
fun bar() {
try {
// ...
} catch (e: IOException) {
LOGGER.info(e)
}
}
```
### RethrowCaughtException
This rule reports all exceptions that are caught and then later re-thrown without modification.
It ignores caught exceptions that are rethrown if there is work done before that.
**Severity**: CodeSmell
**Debt**: 5min
#### Noncompliant Code:
```kotlin
fun foo() {
try {
// ...
} catch (e: IOException) {
throw e
}
}
```
#### Compliant Code:
```kotlin
fun foo() {
try {
// ...
} catch (e: IOException) {
throw MyException(e)
}
try {
// ...
} catch (e: IOException) {
print(e)
throw e
}
try {
// ...
} catch (e: IOException) {
print(e.message)
throw e
}
}
```
### ReturnFromFinally
Reports all `return` statements in `finally` blocks.
Using `return` statements in `finally` blocks can discard and hide exceptions that are thrown in the `try` block.
**Severity**: Defect
**Debt**: 20min
#### Configuration options:
* ``ignoreLabeled`` (default: ``false``)
ignores labeled return statements
#### Noncompliant Code:
```kotlin
fun foo() {
try {
throw MyException()
} finally {
return // prevents MyException from being propagated
}
}
```
### SwallowedException
Exceptions should not be swallowed. This rule reports all instances where exceptions are `caught` and not correctly
passed into a newly thrown exception.
**Severity**: CodeSmell
**Debt**: 20min
#### Configuration options:
* ``ignoredExceptionTypes`` (default: ``- InterruptedException
- NumberFormatException
- ParseException
- MalformedURLException``)
exception types which should be ignored by this rule
* ``allowedExceptionNameRegex`` (default: ``'_|(ignore|expected).*'``)
ignores too generic exception types which match this regex
#### Noncompliant Code:
```kotlin
fun foo() {
try {
// ...
} catch(e: IOException) {
throw MyException(e.message) // e is swallowed
}
try {
// ...
} catch(e: IOException) {
throw MyException() // e is swallowed
}
try {
// ...
} catch(e: IOException) {
bar() // exception is unused
}
}
```
#### Compliant Code:
```kotlin
fun foo() {
try {
// ...
} catch(e: IOException) {
throw MyException(e)
}
try {
// ...
} catch(e: IOException) {
println(e) // logging is ok here
}
}
```
### ThrowingExceptionFromFinally
This rule reports all cases where exceptions are thrown from a `finally` block. Throwing exceptions from a `finally`
block should be avoided as it can lead to confusion and discarded exceptions.
**Severity**: Defect
**Debt**: 20min
#### Noncompliant Code:
```kotlin
fun foo() {
try {
// ...
} finally {
throw IOException()
}
}
```
### ThrowingExceptionInMain
This rule reports all exceptions that are thrown in a `main` method.
An exception should only be thrown if it can be handled by a "higher" function.
**Severity**: CodeSmell
**Debt**: 20min
#### Noncompliant Code:
```kotlin
fun main(args: Array<String>) {
// ...
throw IOException() // exception should not be thrown here
}
```
### ThrowingExceptionsWithoutMessageOrCause
This rule reports all exceptions which are thrown without arguments or further description.
Exceptions should always call one of the constructor overloads to provide a message or a cause.
Exceptions should be meaningful and contain as much detail about the error case as possible. This will help to track
down an underlying issue in a better way.
**Severity**: Warning
**Debt**: 5min
#### Configuration options:
* ``exceptions`` (default: ``- IllegalArgumentException
- IllegalStateException
- IOException``)
exceptions which should not be thrown without message or cause
#### Noncompliant Code:
```kotlin
fun foo(bar: Int) {
if (bar < 1) {
throw IllegalArgumentException()
}
// ...
}
```
#### Compliant Code:
```kotlin
fun foo(bar: Int) {
if (bar < 1) {
throw IllegalArgumentException("bar must be greater than zero")
}
// ...
}
```
### ThrowingNewInstanceOfSameException
Exceptions should not be wrapped inside the same exception type and then rethrown. Prefer wrapping exceptions in more
meaningful exception types.
**Severity**: Defect
**Debt**: 5min
#### Noncompliant Code:
```kotlin
fun foo() {
try {
// ...
} catch (e: IllegalStateException) {
throw IllegalStateException(e) // rethrows the same exception
}
}
```
#### Compliant Code:
```kotlin
fun foo() {
try {
// ...
} catch (e: IllegalStateException) {
throw MyException(e)
}
}
```
### TooGenericExceptionCaught
This rule reports `catch` blocks for exceptions that have a type that is too generic.
It should be preferred to catch specific exceptions to the case that is currently handled. If the scope of the caught
exception is too broad it can lead to unintended exceptions being caught.
**Severity**: Defect
**Debt**: 20min
#### Configuration options:
* ``exceptionNames`` (default: ``- ArrayIndexOutOfBoundsException
- Error
- Exception
- IllegalMonitorStateException
- NullPointerException
- IndexOutOfBoundsException
- RuntimeException
- Throwable``)
exceptions which are too generic and should not be caught
* ``allowedExceptionNameRegex`` (default: ``'_|(ignore|expected).*'``)
ignores too generic exception types which match this regex
#### Noncompliant Code:
```kotlin
fun foo() {
try {
// ... do some I/O
} catch(e: Exception) { } // too generic exception caught here
}
```
#### Compliant Code:
```kotlin
fun foo() {
try {
// ... do some I/O
} catch(e: IOException) { }
}
```
### TooGenericExceptionThrown
This rule reports thrown exceptions that have a type that is too generic. It should be preferred to throw specific
exceptions to the case that has currently occurred.
**Severity**: Defect
**Debt**: 20min
#### Configuration options:
* ``exceptionNames`` (default: ``- Error
- Exception
- Throwable
- RuntimeException``)
exceptions which are too generic and should not be thrown
#### Noncompliant Code:
```kotlin
fun foo(bar: Int) {
if (bar < 1) {
throw Exception() // too generic exception thrown here
}
// ...
}
```
#### Compliant Code:
```kotlin
fun foo(bar: Int) {
if (bar < 1) {
throw IllegalArgumentException("bar must be greater than zero")
}
// ...
}
```

View File

@@ -1,208 +0,0 @@
---
title: Formatting Rule Set
sidebar: home_sidebar
keywords: rules, formatting
permalink: formatting.html
toc: true
folder: documentation
---
This rule set provides wrappers for rules implemented by ktlint - https://ktlint.github.io/.
Note: Issues reported by this rule set can only be suppressed on file level (@file:Suppress("detekt.rule").
Note: The formatting rule set is not included in the detekt-cli or gradle plugin.
To enable this rule set, add <i>detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:$version"</i>
to your gradle dependencies or reference the `detekt-formatting`-jar with the `--plugins` option
in the command line interface.
### AnnotationOnSeparateLine
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### AnnotationSpacing
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### ArgumentListWrapping
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### ChainWrapping
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### CommentSpacing
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### EnumEntryNameCase
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### Filename
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### FinalNewline
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
#### Configuration options:
* ``insertFinalNewLine`` (default: ``true``)
report absence or presence of a newline
### ImportOrdering
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
For defining custom import layout patterns see: https://github.com/pinterest/ktlint/blob/cdf871b6f015359f9a6f02e15ef1b85a6c442437/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ImportOrderingRule.kt
#### Configuration options:
* ``layout`` (default: ``'idea'``)
the import ordering layout; use 'ascii', 'idea' or define a custom one
### Indentation
See <a href="https://ktlint.github.io/#rule-indentation">ktlint-website</a> for documentation.
#### Configuration options:
* ``indentSize`` (default: ``4``)
indentation size
* ``continuationIndentSize`` (default: ``4``)
continuation indentation size
### MaximumLineLength
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
#### Configuration options:
* ``maxLineLength`` (default: ``120``)
maximum line length
### ModifierOrdering
See <a href="https://ktlint.github.io/#rule-modifier-order">ktlint-website</a> for documentation.
### MultiLineIfElse
See <a href="https://ktlint.github.io/#rule-modifier-order">ktlint-website</a> for documentation.
### NoBlankLineBeforeRbrace
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### NoConsecutiveBlankLines
See <a href="https://ktlint.github.io/#rule-blank">ktlint-website</a> for documentation.
### NoEmptyClassBody
See <a href="https://ktlint.github.io/#rule-empty-class-body">ktlint-website</a> for documentation.
### NoEmptyFirstLineInMethodBlock
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### NoLineBreakAfterElse
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### NoLineBreakBeforeAssignment
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### NoMultipleSpaces
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### NoSemicolons
See <a href="https://ktlint.github.io/#rule-semi">ktlint-website</a> for documentation.
### NoTrailingSpaces
See <a href="https://ktlint.github.io/#rule-trailing-whitespaces">ktlint-website</a> for documentation.
### NoUnitReturn
See <a href="https://ktlint.github.io/#rule-unit-return">ktlint-website</a> for documentation.
### NoUnusedImports
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### NoWildcardImports
See <a href="https://ktlint.github.io/#rule-import">ktlint-website</a> for documentation.
### PackageName
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
### ParameterListWrapping
See <a href="https://ktlint.github.io">ktlint-website</a> for documentation.
#### Configuration options:
* ``indentSize`` (default: ``4``)
indentation size
### SpacingAroundColon
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundComma
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundCurly
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundDot
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundDoubleColon
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundKeyword
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundOperators
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundParens
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingAroundRangeOperator
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingBetweenDeclarationsWithAnnotations
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### SpacingBetweenDeclarationsWithComments
See <a href="https://ktlint.github.io/#rule-spacing">ktlint-website</a> for documentation.
### StringTemplate
See <a href="https://ktlint.github.io/#rule-string-template">ktlint-website</a> for documentation.

View File

@@ -1,412 +0,0 @@
---
title: Naming Rule Set
sidebar: home_sidebar
keywords: rules, naming
permalink: naming.html
toc: true
folder: documentation
---
The naming ruleset contains rules which assert the naming of different parts of the codebase.
### ClassNaming
Reports when class or object names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
**Aliases**: ClassName
#### Configuration options:
* ``classPattern`` (default: ``'[A-Z][a-zA-Z0-9]*'``)
naming pattern
### ConstructorParameterNaming
Reports constructor parameter names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``parameterPattern`` (default: ``'[a-z][A-Za-z0-9]*'``)
naming pattern
* ``privateParameterPattern`` (default: ``'[a-z][A-Za-z0-9]*'``)
naming pattern
* ``excludeClassPattern`` (default: ``'$^'``)
ignores variables in classes which match this regex
* ``ignoreOverridden`` (default: ``true``)
ignores constructor properties that have the override modifier
### EnumNaming
Reports when enum names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``enumEntryPattern`` (default: ``'[A-Z][_a-zA-Z0-9]*'``)
naming pattern
### ForbiddenClassName
Reports class names which are forbidden per configuration.
By default this rule does not report any classes.
Examples for forbidden names might be too generic class names like `...Manager`.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``forbiddenName`` (default: ``[]``)
forbidden class names
### FunctionMaxLength
Reports when very long function names are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``maximumFunctionNameLength`` (default: ``30``)
maximum name length
### FunctionMinLength
Reports when very short function names are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``minimumFunctionNameLength`` (default: ``3``)
minimum name length
### FunctionNaming
Reports when function names which do not follow the specified naming convention are used.
One exception are factory functions used to create instances of classes.
These factory functions can have the same name as the class being created.
**Severity**: Style
**Debt**: 5min
**Aliases**: FunctionName
#### Configuration options:
* ``functionPattern`` (default: ``'([a-z][a-zA-Z0-9]*)|(`.*`)'``)
naming pattern
* ``excludeClassPattern`` (default: ``'$^'``)
ignores functions in classes which match this regex
* ``ignoreOverridden`` (default: ``true``)
ignores functions that have the override modifier
* ``ignoreAnnotated`` (default: ``['Composable']``)
ignore naming for functions in the context of these
annotation class names
### FunctionParameterNaming
Reports function parameter names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``parameterPattern`` (default: ``'[a-z][A-Za-z0-9]*'``)
naming pattern
* ``excludeClassPattern`` (default: ``'$^'``)
ignores variables in classes which match this regex
* ~~``ignoreOverriddenFunctions``~~ (default: ``true``)
**Deprecated**: Use `ignoreOverridden` instead
ignores overridden functions with parameters not matching the pattern
* ``ignoreOverridden`` (default: ``true``)
ignores overridden functions with parameters not matching the pattern
### InvalidPackageDeclaration
Reports when the package declaration is missing or the file location does not match the declared package.
**Severity**: Maintainability
**Debt**: 5min
#### Configuration options:
* ``rootPackage`` (default: ``''``)
if specified this part of the package structure is ignored
### MatchingDeclarationName
"If a Kotlin file contains a single non-private class (potentially with related top-level declarations),
its name should be the same as the name of the class, with the .kt extension appended.
If a file contains multiple classes, or only top-level declarations,
choose a name describing what the file contains, and name the file accordingly.
Use camel humps with an uppercase first letter (e.g. ProcessDeclarations.kt).
The name of the file should describe what the code in the file does.
Therefore, you should avoid using meaningless words such as "Util" in file names." - Official Kotlin Style Guide
More information at: http://kotlinlang.org/docs/reference/coding-conventions.html
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``mustBeFirst`` (default: ``true``)
name should only be checked if the file starts with a class or object
#### Noncompliant Code:
```kotlin
class Foo // FooUtils.kt
fun Bar.toFoo(): Foo = ...
fun Foo.toBar(): Bar = ...
```
#### Compliant Code:
```kotlin
class Foo { // Foo.kt
fun stuff() = 42
}
fun Bar.toFoo(): Foo = ...
```
### MemberNameEqualsClassName
This rule reports a member that has the same as the containing class or object.
This might result in confusion.
The member should either be renamed or changed to a constructor.
Factory functions that create an instance of the class are exempt from this rule.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ~~``ignoreOverriddenFunction``~~ (default: ``true``)
**Deprecated**: Use `ignoreOverridden` instead
if overridden functions and properties should be ignored
* ``ignoreOverridden`` (default: ``true``)
if overridden functions and properties should be ignored
#### Noncompliant Code:
```kotlin
class MethodNameEqualsClassName {
fun methodNameEqualsClassName() { }
}
class PropertyNameEqualsClassName {
val propertyEqualsClassName = 0
}
```
#### Compliant Code:
```kotlin
class Manager {
companion object {
// factory functions can have the same name as the class
fun manager(): Manager {
return Manager()
}
}
}
```
### NonBooleanPropertyPrefixedWithIs
Reports when property with 'is' prefix doesn't have a boolean type.
Please check the [chapter 8.3.2 at Java Language Specification](https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.3.2)
**Requires Type Resolution**
**Severity**: Warning
**Debt**: 5min
#### Noncompliant Code:
```kotlin
val isEnabled: Int = 500
```
#### Compliant Code:
```kotlin
val isEnabled: Boolean = false
```
### ObjectPropertyNaming
Reports when property names inside objects which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``constantPattern`` (default: ``'[A-Za-z][_A-Za-z0-9]*'``)
naming pattern
* ``propertyPattern`` (default: ``'[A-Za-z][_A-Za-z0-9]*'``)
naming pattern
* ``privatePropertyPattern`` (default: ``'(_)?[A-Za-z][_A-Za-z0-9]*'``)
naming pattern
### PackageNaming
Reports when package names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
**Aliases**: PackageDirectoryMismatch
#### Configuration options:
* ``packagePattern`` (default: ``'[a-z]+(\.[a-z][A-Za-z0-9]*)*'``)
naming pattern
### TopLevelPropertyNaming
Reports when top level constant names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``constantPattern`` (default: ``'[A-Z][_A-Z0-9]*'``)
naming pattern
* ``propertyPattern`` (default: ``'[A-Za-z][_A-Za-z0-9]*'``)
naming pattern
* ``privatePropertyPattern`` (default: ``'_?[A-Za-z][_A-Za-z0-9]*'``)
naming pattern
### VariableMaxLength
Reports when very long variable names are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``maximumVariableNameLength`` (default: ``64``)
maximum name length
### VariableMinLength
Reports when very short variable names are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``minimumVariableNameLength`` (default: ``1``)
maximum name length
### VariableNaming
Reports when variable names which do not follow the specified naming convention are used.
**Severity**: Style
**Debt**: 5min
#### Configuration options:
* ``variablePattern`` (default: ``'[a-z][A-Za-z0-9]*'``)
naming pattern
* ``privateVariablePattern`` (default: ``'(_)?[a-z][A-Za-z0-9]*'``)
naming pattern
* ``excludeClassPattern`` (default: ``'$^'``)
ignores variables in classes which match this regex
* ``ignoreOverridden`` (default: ``true``)
ignores member properties that have the override modifier

View File

@@ -1,135 +0,0 @@
---
title: Performance Rule Set
sidebar: home_sidebar
keywords: rules, performance
permalink: performance.html
toc: true
folder: documentation
---
The performance rule set analyzes code for potential performance problems.
### ArrayPrimitive
Using Array<Primitive> leads to implicit boxing and performance hit. Prefer using Kotlin specialized Array
Instances.
As stated in the Kotlin [documentation](https://kotlinlang.org/docs/reference/basic-types.html#arrays) Kotlin has
specialized arrays to represent primitive types without boxing overhead, such as `IntArray`, `ByteArray` and so on.
**Requires Type Resolution**
**Severity**: Performance
**Debt**: 5min
#### Noncompliant Code:
```kotlin
fun function(array: Array<Int>) { }
fun returningFunction(): Array<Double> { }
```
#### Compliant Code:
```kotlin
fun function(array: IntArray) { }
fun returningFunction(): DoubleArray { }
```
### ForEachOnRange
Using the forEach method on ranges has a heavy performance cost. Prefer using simple for loops.
Benchmarks have shown that using forEach on a range can have a huge performance cost in comparison to
simple for loops. Hence in most contexts a simple for loop should be used instead.
See more details here: https://sites.google.com/a/athaydes.com/renato-athaydes/posts/kotlinshiddencosts-benchmarks
To solve this CodeSmell, the forEach usage should be replaced by a for loop.
**Severity**: Performance
**Debt**: 5min
#### Noncompliant Code:
```kotlin
(1..10).forEach {
println(it)
}
(1 until 10).forEach {
println(it)
}
(10 downTo 1).forEach {
println(it)
}
```
#### Compliant Code:
```kotlin
for (i in 1..10) {
println(i)
}
```
### SpreadOperator
In most cases using a spread operator causes a full copy of the array to be created before calling a method.
This has a very high performance penalty. Benchmarks showing this performance penalty can be seen here:
https://sites.google.com/a/athaydes.com/renato-athaydes/posts/kotlinshiddencosts-benchmarks
The Kotlin compiler since v1.1.60 has an optimization that skips the array copy when an array constructor
function is used to create the arguments that are passed to the vararg parameter. When type resolution is enabled in
detekt this case will not be flagged by the rule since it doesn't suffer the performance penalty of an array copy.
**Severity**: Performance
**Debt**: 20min
#### Noncompliant Code:
```kotlin
val strs = arrayOf("value one", "value two")
val foo = bar(*strs)
fun bar(vararg strs: String) {
strs.forEach { println(it) }
}
```
#### Compliant Code:
```kotlin
// array copy skipped in this case since Kotlin 1.1.60
val foo = bar(*arrayOf("value one", "value two"))
// array not passed so no array copy is required
val foo2 = bar("value one", "value two")
fun bar(vararg strs: String) {
strs.forEach { println(it) }
}
```
### UnnecessaryTemporaryInstantiation
Avoid temporary objects when converting primitive types to String. This has a performance penalty when compared
to using primitive types directly.
To solve this issue, remove the wrapping type.
**Severity**: Performance
**Debt**: 5min
#### Noncompliant Code:
```kotlin
val i = Integer(1).toString() // temporary Integer instantiation just for the conversion
```
#### Compliant Code:
```kotlin
val i = Integer.toString(1)
```

View File

@@ -1,808 +0,0 @@
---
title: Potential-bugs Rule Set
sidebar: home_sidebar
keywords: rules, potential-bugs
permalink: potential-bugs.html
toc: true
folder: documentation
---
The potential-bugs rule set provides rules that detect potential bugs.
### Deprecation
Deprecated elements are expected to be removed in future. Alternatives should be found if possible.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 20min
**Aliases**: DEPRECATION
### DuplicateCaseInWhenExpression
Flags duplicate case statements in when expressions.
If a when expression contains the same case statement multiple times they should be merged. Otherwise it might be
easy to miss one of the cases when reading the code, leading to unwanted side effects.
**Severity**: Warning
**Debt**: 10min
#### Noncompliant Code:
```kotlin
when (i) {
1 -> println("one")
1 -> println("one")
else -> println("else")
}
```
#### Compliant Code:
```kotlin
when (i) {
1 -> println("one")
else -> println("else")
}
```
### EqualsAlwaysReturnsTrueOrFalse
Reports equals() methods which will always return true or false.
Equals methods should always report if some other object is equal to the current object.
See the Kotlin documentation for Any.equals(other: Any?):
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/equals.html
**Severity**: Defect
**Debt**: 20min
#### Noncompliant Code:
```kotlin
override fun equals(other: Any?): Boolean {
return true
}
```
#### Compliant Code:
```kotlin
override fun equals(other: Any?): Boolean {
return this === other
}
```
### EqualsWithHashCodeExist
When a class overrides the equals() method it should also override the hashCode() method.
All hash-based collections depend on objects meeting the equals-contract. Two equal objects must produce the
same hashcode. When inheriting equals or hashcode, override the inherited and call the super method for
clarification.
**Severity**: Defect
**Debt**: 5min
#### Noncompliant Code:
```kotlin
class Foo {
override fun equals(other: Any?): Boolean {
return super.equals(other)
}
}
```
#### Compliant Code:
```kotlin
class Foo {
override fun equals(other: Any?): Boolean {
return super.equals(other)
}
override fun hashCode(): Int {
return super.hashCode()
}
}
```
### ExplicitGarbageCollectionCall
Reports all calls to explicitly trigger the Garbage Collector.
Code should work independently of the garbage collector and should not require the GC to be triggered in certain
points in time.
**Severity**: Defect
**Debt**: 20min
#### Noncompliant Code:
```kotlin
System.gc()
Runtime.getRuntime().gc()
System.runFinalization()
```
### HasPlatformType
Platform types must be declared explicitly in public APIs to prevent unexpected errors.
**Requires Type Resolution**
**Severity**: Maintainability
**Debt**: 5min
#### Noncompliant Code:
```kotlin
class Person {
fun apiCall() = System.getProperty("propertyName")
}
```
#### Compliant Code:
```kotlin
class Person {
fun apiCall(): String = System.getProperty("propertyName")
}
```
### IgnoredReturnValue
This rule warns on instances where a function, annotated with either `@CheckReturnValue` or `@CheckResult`,
returns a value but that value is not used in any way. The Kotlin compiler gives no warning for this scenario
normally so that's the rationale behind this rule.
fun returnsValue() = 42
fun returnsNoValue() {}
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 20min
#### Configuration options:
* ``restrictToAnnotatedMethods`` (default: ``true``)
if the rule should check only annotated methods.
* ``returnValueAnnotations`` (default: ``['*.CheckReturnValue', '*.CheckResult']``)
List of glob patterns to be used as inspection annotation
#### Noncompliant Code:
```kotlin
returnsValue()
```
#### Compliant Code:
```kotlin
if (42 == returnsValue()) {}
val x = returnsValue()
```
### ImplicitDefaultLocale
Prefer passing [java.util.Locale] explicitly than using implicit default value when formatting
strings or performing a case conversion.
The default locale is almost always not appropriate for machine-readable text like HTTP headers.
For example, if locale with tag `ar-SA-u-nu-arab` is a current default then `%d` placeholders
will be evaluated to numbers consisting of Eastern-Arabic (non-ASCII) digits.
[java.util.Locale.US] is recommended for machine-readable output.
**Severity**: CodeSmell
**Debt**: 5min
#### Noncompliant Code:
```kotlin
String.format("Timestamp: %d", System.currentTimeMillis())
val str: String = getString()
str.toUpperCase()
str.toLowerCase()
```
#### Compliant Code:
```kotlin
String.format(Locale.US, "Timestamp: %d", System.currentTimeMillis())
val str: String = getString()
str.toUpperCase(Locale.US)
str.toLowerCase(Locale.US)
```
### ImplicitUnitReturnType
Functions using expression statements have an implicit return type.
Changing the type of the expression accidentally, changes the functions return type.
This may lead to backward incompatibility.
Use a block statement to make clear this function will never return a value.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 5min
#### Configuration options:
* ``allowExplicitReturnType`` (default: ``true``)
if functions with explicit 'Unit' return type should be allowed
<noncompliant>
fun errorProneUnit() = println("Hello Unit")
fun errorProneUnitWithParam(param: String) = param.run { println(this) }
fun String.errorProneUnitWithReceiver() = run { println(this) }
</noncompliant>
<compliant>
fun blockStatementUnit() {
// code
}
// explicit Unit is compliant by default; can be configured to enforce block statement
fun safeUnitReturn(): Unit = println("Hello Unit")
</compliant>
### InvalidRange
Reports ranges which are empty.
This might be a bug if it is used for instance as a loop condition. This loop will never be triggered then.
This might be due to invalid ranges like (10..9) which will cause the loop to never be entered.
**Severity**: Defect
**Debt**: 10min
#### Noncompliant Code:
```kotlin
for (i in 2..1) {}
for (i in 1 downTo 2) {}
val range1 = 2 until 1
val range2 = 2 until 2
```
#### Compliant Code:
```kotlin
for (i in 2..2) {}
for (i in 2 downTo 2) {}
val range = 2 until 3
```
### IteratorHasNextCallsNextMethod
Verifies implementations of the Iterator interface.
The hasNext() method of an Iterator implementation should not have any side effects.
This rule reports implementations that call the next() method of the Iterator inside the hasNext() method.
**Severity**: Defect
**Debt**: 10min
#### Noncompliant Code:
```kotlin
class MyIterator : Iterator<String> {
override fun hasNext(): Boolean {
return next() != null
}
}
```
### IteratorNotThrowingNoSuchElementException
Reports implementations of the `Iterator` interface which do not throw a NoSuchElementException in the
implementation of the next() method. When there are no more elements to return an Iterator should throw a
NoSuchElementException.
See: https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html#next()
**Severity**: Defect
**Debt**: 10min
#### Noncompliant Code:
```kotlin
class MyIterator : Iterator<String> {
override fun next(): String {
return ""
}
}
```
#### Compliant Code:
```kotlin
class MyIterator : Iterator<String> {
override fun next(): String {
if (!this.hasNext()) {
throw NoSuchElementException()
}
// ...
}
}
```
### LateinitUsage
Turn on this rule to flag usages of the lateinit modifier.
Using lateinit for property initialization can be error prone and the actual initialization is not
guaranteed. Try using constructor injection or delegation to initialize properties.
**Severity**: Defect
**Debt**: 20min
#### Configuration options:
* ``excludeAnnotatedProperties`` (default: ``[]``)
Allows you to provide a list of annotations that disable
this check.
* ``ignoreOnClassesPattern`` (default: ``''``)
Allows you to disable the rule for a list of classes
#### Noncompliant Code:
```kotlin
class Foo {
@JvmField lateinit var i1: Int
@JvmField @SinceKotlin("1.0.0") lateinit var i2: Int
}
```
### MapGetWithNotNullAssertionOperator
Reports calls of the map access methods `map[]` or `map.get()` with a not-null assertion operator `!!`.
This may result in a NullPointerException.
Preferred access methods are `map[]` without `!!`, `map.getValue()`, `map.getOrDefault()` or `map.getOrElse()`.
Based on an IntelliJ IDEA inspection MapGetWithNotNullAssertionOperatorInspection.
**Severity**: CodeSmell
**Debt**: 5min
#### Noncompliant Code:
```kotlin
val map = emptyMap<String, String>()
map["key"]!!
val map = emptyMap<String, String>()
map.get("key")!!
```
#### Compliant Code:
```kotlin
val map = emptyMap<String, String>()
map["key"]
val map = emptyMap<String, String>()
map.getValue("key")
val map = emptyMap<String, String>()
map.getOrDefault("key", "")
val map = emptyMap<String, String>()
map.getOrElse("key", { "" })
```
### MissingWhenCase
Turn on this rule to flag `when` expressions that do not check that all cases are covered when the subject is an enum
or sealed class and the `when` expression is used as a statement.
When this happens it's unclear what was intended when an unhandled case is reached. It is better to be explicit and
either handle all cases or use a default `else` statement to cover the unhandled cases.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 20min
#### Configuration options:
* ``allowElseExpression`` (default: ``true``)
whether `else` can be treated as a valid case for enums and sealed classes
#### Noncompliant Code:
```kotlin
enum class Color {
RED,
GREEN,
BLUE
}
fun whenOnEnumFail(c: Color) {
when(c) {
Color.BLUE -> {}
Color.GREEN -> {}
}
}
```
#### Compliant Code:
```kotlin
enum class Color {
RED,
GREEN,
BLUE
}
fun whenOnEnumCompliant(c: Color) {
when(c) {
Color.BLUE -> {}
Color.GREEN -> {}
Color.RED -> {}
}
}
fun whenOnEnumCompliant2(c: Color) {
when(c) {
Color.BLUE -> {}
else -> {}
}
}
```
### NullableToStringCall
Turn on this rule to flag 'toString' calls with a nullable receiver that may return the string "null".
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 5min
#### Noncompliant Code:
```kotlin
fun foo(a: Any?): String {
return a.toString()
}
fun bar(a: Any?): String {
return "$a"
}
```
#### Compliant Code:
```kotlin
fun foo(a: Any?): String {
return a?.toString() ?: "-"
}
fun bar(a: Any?): String {
return "${a ?: "-"}"
}
```
### RedundantElseInWhen
Turn on this rule to flag `when` expressions that contain a redundant `else` case. This occurs when it can be
verified that all cases are already covered when checking cases on an enum or sealed class.
**Requires Type Resolution**
**Severity**: Warning
**Debt**: 5min
#### Noncompliant Code:
```kotlin
enum class Color {
RED,
GREEN,
BLUE
}
fun whenOnEnumFail(c: Color) {
when(c) {
Color.BLUE -> {}
Color.GREEN -> {}
Color.RED -> {}
else -> {}
}
}
```
#### Compliant Code:
```kotlin
enum class Color {
RED,
GREEN,
BLUE
}
fun whenOnEnumCompliant(c: Color) {
when(c) {
Color.BLUE -> {}
Color.GREEN -> {}
else -> {}
}
}
fun whenOnEnumCompliant2(c: Color) {
when(c) {
Color.BLUE -> {}
Color.GREEN -> {}
Color.RED -> {}
}
}
```
### UnconditionalJumpStatementInLoop
Reports loops which contain jump statements that jump regardless of any conditions.
This implies that the loop is only executed once and thus could be rewritten without a
loop altogether.
**Severity**: Defect
**Debt**: 10min
#### Noncompliant Code:
```kotlin
for (i in 1..2) break
```
#### Compliant Code:
```kotlin
for (i in 1..2) {
if (i == 1) break
}
```
### UnnecessaryNotNullOperator
Reports unnecessary not-null operator usage (!!) that can be removed by the user.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 5min
#### Noncompliant Code:
```kotlin
val a = 1
val b = a!!
```
#### Compliant Code:
```kotlin
val a = 1
val b = a
```
### UnnecessarySafeCall
Reports unnecessary safe call operators (`.?`) that can be removed by the user.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 5min
#### Noncompliant Code:
```kotlin
val a: String = ""
val b = someValue?.length
```
#### Compliant Code:
```kotlin
val a: String? = null
val b = someValue?.length
```
### UnreachableCode
Reports unreachable code.
Code can be unreachable because it is behind return, throw, continue or break expressions.
This unreachable code should be removed as it serves no purpose.
**Severity**: Warning
**Debt**: 10min
#### Noncompliant Code:
```kotlin
for (i in 1..2) {
break
println() // unreachable
}
throw IllegalArgumentException()
println() // unreachable
fun f() {
return
println() // unreachable
}
```
### UnsafeCallOnNullableType
Reports unsafe calls on nullable types. These calls will throw a NullPointerException in case
the nullable value is null. Kotlin provides many ways to work with nullable types to increase
null safety. Guard the code appropriately to prevent NullPointerExceptions.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 20min
#### Noncompliant Code:
```kotlin
fun foo(str: String?) {
println(str!!.length)
}
```
#### Compliant Code:
```kotlin
fun foo(str: String?) {
println(str?.length)
}
```
### UnsafeCast
Reports casts that will never succeed.
**Requires Type Resolution**
**Severity**: Defect
**Debt**: 20min
**Aliases**: UNCHECKED_CAST
#### Noncompliant Code:
```kotlin
fun foo(s: String) {
println(s as Int)
}
fun bar(s: String) {
println(s as? Int)
}
```
#### Compliant Code:
```kotlin
fun foo(s: Any) {
println(s as Int)
}
```
### UselessPostfixExpression
This rule reports postfix expressions (++, --) which are unused and thus unnecessary.
This leads to confusion as a reader of the code might think the value will be incremented/decremented.
However the value is replaced with the original value which might lead to bugs.
**Severity**: Defect
**Debt**: 20min
#### Noncompliant Code:
```kotlin
var i = 0
i = i--
i = 1 + i++
i = i++ + 1
fun foo(): Int {
var i = 0
// ...
return i++
}
```
#### Compliant Code:
```kotlin
var i = 0
i--
i = i + 2
i = i + 2
fun foo(): Int {
var i = 0
// ...
i++
return i
}
```
### WrongEqualsTypeParameter
Reports equals() methods which take in a wrongly typed parameter.
Correct implementations of the equals() method should only take in a parameter of type Any?
See: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/equals.html
**Severity**: Defect
**Debt**: 10min
#### Noncompliant Code:
```kotlin
class Foo {
fun equals(other: String): Boolean {
return super.equals(other)
}
}
```
#### Compliant Code:
```kotlin
class Foo {
fun equals(other: Any?): Boolean {
return super.equals(other)
}
}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +0,0 @@
---
title: detekt-api -
---
//[detekt-api](index.md)
# detekt-api
## Packages
| Name| Summary|
|---|---|
| [io.gitlab.arturbosch.detekt.api](io.gitlab.arturbosch.detekt.api/index.md) |
| [io.gitlab.arturbosch.detekt.api.internal](io.gitlab.arturbosch.detekt.api.internal/index.md) |

View File

@@ -1,14 +0,0 @@
---
title: BaseConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseConfig](index.md)/[BaseConfig](-base-config.md)
# BaseConfig
[jvm]
Content
fun [BaseConfig](-base-config.md)()

View File

@@ -1,47 +0,0 @@
---
title: BaseConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseConfig](index.md)
# BaseConfig
[jvm]
Convenient base configuration which parses/casts the configuration value based on the type of the default value.
abstract class [BaseConfig](index.md) : [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)
## Constructors
| Name| Summary|
|---|---|
| [BaseConfig](-base-config.md)| [jvm] fun [BaseConfig](-base-config.md)() <br>
## Functions
| Name| Summary|
|---|---|
| [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [subConfig](../../io.gitlab.arturbosch.detekt.api/-config/sub-config.md)| [jvm] <br>Brief description <br><br><br>Tries to retrieve part of the configuration based on given key.<br><br> <br>Content <br>abstract override fun [subConfig](../../io.gitlab.arturbosch.detekt.api/-config/sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>
| [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [valueOrDefault](../../io.gitlab.arturbosch.detekt.api/-config/value-or-default.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.<br><br> <br>Content <br>open override fun <T : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](../../io.gitlab.arturbosch.detekt.api/-config/value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: T): T <br><br><br>
| [valueOrNull](../../io.gitlab.arturbosch.detekt.api/-config/value-or-null.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.<br><br> <br>Content <br>abstract override fun <T : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](../../io.gitlab.arturbosch.detekt.api/-config/value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): T? <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseConfig/parentPath/#/PointingToDeclaration/)| [jvm] <br><br><br><br>Keeps track of which key was taken to subConfig this configuration. Sub-sequential calls to subConfig are tracked with '>' as a separator.<br><br><br><br>May be null if this is the top most configuration object.<br><br><br><br>open override val [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseConfig/parentPath/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br>
## Inheritors
| Name|
|---|
| [YamlConfig](../-yaml-config/index.md)

View File

@@ -1,14 +0,0 @@
---
title: BaseRule -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseRule](index.md)/[BaseRule](-base-rule.md)
# BaseRule
[jvm]
Content
fun [BaseRule](-base-rule.md)(context: [Context](../../io.gitlab.arturbosch.detekt.api/-context/index.md))

View File

@@ -1,186 +0,0 @@
---
title: BaseRule -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseRule](index.md)
# BaseRule
[jvm]
Defines the visiting mechanism for KtFile's.
Custom rule implementations should actually use [Rule](../../io.gitlab.arturbosch.detekt.api/-rule/index.md) as base class.
The extraction of this class from [Rule](../../io.gitlab.arturbosch.detekt.api/-rule/index.md) actually resulted from the need of running many different checks on the same KtFile but within a single potential costly visiting process, see [MultiRule](../../io.gitlab.arturbosch.detekt.api/-multi-rule/index.md).
This base rule class abstracts over single and multi rules and allows the detekt core engine to only care about a single type.
abstract class [BaseRule](index.md)(**context**: [Context](../../io.gitlab.arturbosch.detekt.api/-context/index.md)) : [DetektVisitor](../../io.gitlab.arturbosch.detekt.api/-detekt-visitor/index.md), [Context](../../io.gitlab.arturbosch.detekt.api/-context/index.md)
## Constructors
| Name| Summary|
|---|---|
| [BaseRule](-base-rule.md)| [jvm] fun [BaseRule](-base-rule.md)(context: [Context](../../io.gitlab.arturbosch.detekt.api/-context/index.md)) <br>
## Functions
| Name| Summary|
|---|---|
| [clearFindings](../../io.gitlab.arturbosch.detekt.api/-context/clear-findings.md)| [jvm] <br>Brief description <br><br><br>Clears previous findings. Normally this is done on every new KtFile analyzed and should be called by clients.<br><br> <br>Content <br>open override fun [clearFindings](../../io.gitlab.arturbosch.detekt.api/-context/clear-findings.md)() <br><br><br>
| [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [report](../../io.gitlab.arturbosch.detekt.api/-context/report.md)| [jvm] <br>Brief description <br><br><br>Reports a single new violation. By contract the implementation can check if this finding is already suppressed and should not get reported. An alias set can be given to additionally check if an alias was used when suppressing. Additionally suppression by rule set id is supported.<br><br> <br>Content <br>open override fun [report](../../io.gitlab.arturbosch.detekt.api/-context/report.md)(finding: [Finding](../../io.gitlab.arturbosch.detekt.api/-finding/index.md), aliases: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, ruleSetId: [RuleSetId](../../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleSetId///PointingToDeclaration/)?) <br><br><br>[jvm] <br>Brief description <br><br><br>Same as report but reports a list of findings.<br><br> <br>Content <br>open override fun [report](../../io.gitlab.arturbosch.detekt.api/-context/report.md)(findings: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Finding](../../io.gitlab.arturbosch.detekt.api/-finding/index.md)>, aliases: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, ruleSetId: [RuleSetId](../../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleSetId///PointingToDeclaration/)?) <br><br><br>
| [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [visit](visit.md)| [jvm] <br>Brief description <br><br><br>Init function to start visiting the KtFile. Can be overridden to start a different visiting process.<br><br> <br>Content <br>open fun [visit](visit.md)(root: KtFile) <br><br><br>
| [visitAnnotatedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotatedExpression/#org.jetbrains.kotlin.psi.KtAnnotatedExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitAnnotatedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotatedExpression/#org.jetbrains.kotlin.psi.KtAnnotatedExpression/PointingToDeclaration/)(@NotNull()p0: KtAnnotatedExpression) <br>override fun [visitAnnotatedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotatedExpression/#org.jetbrains.kotlin.psi.KtAnnotatedExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtAnnotatedExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitAnnotation](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotation/#org.jetbrains.kotlin.psi.KtAnnotation/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitAnnotation](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotation/#org.jetbrains.kotlin.psi.KtAnnotation/PointingToDeclaration/)(@NotNull()p0: KtAnnotation) <br>override fun [visitAnnotation](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotation/#org.jetbrains.kotlin.psi.KtAnnotation#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtAnnotation, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitAnnotationEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotationEntry/#org.jetbrains.kotlin.psi.KtAnnotationEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitAnnotationEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotationEntry/#org.jetbrains.kotlin.psi.KtAnnotationEntry/PointingToDeclaration/)(@NotNull()p0: KtAnnotationEntry) <br>override fun [visitAnnotationEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnnotationEntry/#org.jetbrains.kotlin.psi.KtAnnotationEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtAnnotationEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitAnnotationUseSiteTarget](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitAnnotationUseSiteTarget/#org.jetbrains.kotlin.psi.KtAnnotationUseSiteTarget#java.lang.Void/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitAnnotationUseSiteTarget](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitAnnotationUseSiteTarget/#org.jetbrains.kotlin.psi.KtAnnotationUseSiteTarget#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtAnnotationUseSiteTarget, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitAnonymousInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnonymousInitializer/#org.jetbrains.kotlin.psi.KtAnonymousInitializer/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitAnonymousInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnonymousInitializer/#org.jetbrains.kotlin.psi.KtAnonymousInitializer/PointingToDeclaration/)(@NotNull()p0: KtAnonymousInitializer) <br>override fun [visitAnonymousInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitAnonymousInitializer/#org.jetbrains.kotlin.psi.KtAnonymousInitializer#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtAnonymousInitializer, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitArgument](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitArgument/#org.jetbrains.kotlin.psi.KtValueArgument/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitArgument](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitArgument/#org.jetbrains.kotlin.psi.KtValueArgument/PointingToDeclaration/)(@NotNull()p0: KtValueArgument) <br>override fun [visitArgument](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitArgument/#org.jetbrains.kotlin.psi.KtValueArgument#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtValueArgument, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitArrayAccessExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitArrayAccessExpression/#org.jetbrains.kotlin.psi.KtArrayAccessExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitArrayAccessExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitArrayAccessExpression/#org.jetbrains.kotlin.psi.KtArrayAccessExpression/PointingToDeclaration/)(@NotNull()p0: KtArrayAccessExpression) <br>override fun [visitArrayAccessExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitArrayAccessExpression/#org.jetbrains.kotlin.psi.KtArrayAccessExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtArrayAccessExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitBinaryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBinaryExpression/#org.jetbrains.kotlin.psi.KtBinaryExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitBinaryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBinaryExpression/#org.jetbrains.kotlin.psi.KtBinaryExpression/PointingToDeclaration/)(@NotNull()p0: KtBinaryExpression) <br>override fun [visitBinaryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBinaryExpression/#org.jetbrains.kotlin.psi.KtBinaryExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtBinaryExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitBinaryFile](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitBinaryFile/#org.jetbrains.kotlin.com.intellij.psi.PsiBinaryFile/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitBinaryFile](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitBinaryFile/#org.jetbrains.kotlin.com.intellij.psi.PsiBinaryFile/PointingToDeclaration/)(p0: PsiBinaryFile) <br><br><br>
| [visitBinaryWithTypeRHSExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBinaryWithTypeRHSExpression/#org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitBinaryWithTypeRHSExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBinaryWithTypeRHSExpression/#org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS/PointingToDeclaration/)(@NotNull()p0: KtBinaryExpressionWithTypeRHS) <br>override fun [visitBinaryWithTypeRHSExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBinaryWithTypeRHSExpression/#org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtBinaryExpressionWithTypeRHS, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitBlockExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBlockExpression/#org.jetbrains.kotlin.psi.KtBlockExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitBlockExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBlockExpression/#org.jetbrains.kotlin.psi.KtBlockExpression/PointingToDeclaration/)(@NotNull()p0: KtBlockExpression) <br>override fun [visitBlockExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBlockExpression/#org.jetbrains.kotlin.psi.KtBlockExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtBlockExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitBlockStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBlockStringTemplateEntry/#org.jetbrains.kotlin.psi.KtBlockStringTemplateEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitBlockStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBlockStringTemplateEntry/#org.jetbrains.kotlin.psi.KtBlockStringTemplateEntry/PointingToDeclaration/)(@NotNull()p0: KtBlockStringTemplateEntry) <br>override fun [visitBlockStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBlockStringTemplateEntry/#org.jetbrains.kotlin.psi.KtBlockStringTemplateEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtBlockStringTemplateEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitBreakExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBreakExpression/#org.jetbrains.kotlin.psi.KtBreakExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitBreakExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBreakExpression/#org.jetbrains.kotlin.psi.KtBreakExpression/PointingToDeclaration/)(@NotNull()p0: KtBreakExpression) <br>override fun [visitBreakExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitBreakExpression/#org.jetbrains.kotlin.psi.KtBreakExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtBreakExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitCallableReferenceExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCallableReferenceExpression/#org.jetbrains.kotlin.psi.KtCallableReferenceExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitCallableReferenceExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCallableReferenceExpression/#org.jetbrains.kotlin.psi.KtCallableReferenceExpression/PointingToDeclaration/)(@NotNull()p0: KtCallableReferenceExpression) <br>override fun [visitCallableReferenceExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCallableReferenceExpression/#org.jetbrains.kotlin.psi.KtCallableReferenceExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtCallableReferenceExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitCallExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCallExpression/#org.jetbrains.kotlin.psi.KtCallExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitCallExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCallExpression/#org.jetbrains.kotlin.psi.KtCallExpression/PointingToDeclaration/)(@NotNull()p0: KtCallExpression) <br>override fun [visitCallExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCallExpression/#org.jetbrains.kotlin.psi.KtCallExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtCallExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitCatchSection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCatchSection/#org.jetbrains.kotlin.psi.KtCatchClause/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitCatchSection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCatchSection/#org.jetbrains.kotlin.psi.KtCatchClause/PointingToDeclaration/)(@NotNull()p0: KtCatchClause) <br>override fun [visitCatchSection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCatchSection/#org.jetbrains.kotlin.psi.KtCatchClause#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtCatchClause, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitClass](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClass/#org.jetbrains.kotlin.psi.KtClass/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitClass](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClass/#org.jetbrains.kotlin.psi.KtClass/PointingToDeclaration/)(@NotNull()p0: KtClass) <br>override fun [visitClass](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClass/#org.jetbrains.kotlin.psi.KtClass#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtClass, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitClassBody](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassBody/#org.jetbrains.kotlin.psi.KtClassBody/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitClassBody](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassBody/#org.jetbrains.kotlin.psi.KtClassBody/PointingToDeclaration/)(@NotNull()p0: KtClassBody) <br>override fun [visitClassBody](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassBody/#org.jetbrains.kotlin.psi.KtClassBody#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtClassBody, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitClassInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassInitializer/#org.jetbrains.kotlin.psi.KtClassInitializer/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitClassInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassInitializer/#org.jetbrains.kotlin.psi.KtClassInitializer/PointingToDeclaration/)(@NotNull()p0: KtClassInitializer) <br>open override fun [visitClassInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassInitializer/#org.jetbrains.kotlin.psi.KtClassInitializer#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtClassInitializer, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitClassLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassLiteralExpression/#org.jetbrains.kotlin.psi.KtClassLiteralExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitClassLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassLiteralExpression/#org.jetbrains.kotlin.psi.KtClassLiteralExpression/PointingToDeclaration/)(@NotNull()p0: KtClassLiteralExpression) <br>override fun [visitClassLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassLiteralExpression/#org.jetbrains.kotlin.psi.KtClassLiteralExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtClassLiteralExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitClassOrObject](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassOrObject/#org.jetbrains.kotlin.psi.KtClassOrObject/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitClassOrObject](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassOrObject/#org.jetbrains.kotlin.psi.KtClassOrObject/PointingToDeclaration/)(@NotNull()p0: KtClassOrObject) <br>override fun [visitClassOrObject](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitClassOrObject/#org.jetbrains.kotlin.psi.KtClassOrObject#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtClassOrObject, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitCollectionLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCollectionLiteralExpression/#org.jetbrains.kotlin.psi.KtCollectionLiteralExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitCollectionLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCollectionLiteralExpression/#org.jetbrains.kotlin.psi.KtCollectionLiteralExpression/PointingToDeclaration/)(@NotNull()p0: KtCollectionLiteralExpression) <br>override fun [visitCollectionLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitCollectionLiteralExpression/#org.jetbrains.kotlin.psi.KtCollectionLiteralExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtCollectionLiteralExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitComment](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitComment/#org.jetbrains.kotlin.com.intellij.psi.PsiComment/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitComment](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitComment/#org.jetbrains.kotlin.com.intellij.psi.PsiComment/PointingToDeclaration/)(p0: PsiComment) <br><br><br>
| [visitCondition](visit-condition.md)| [jvm] <br>Brief description <br><br><br><br><br>Basic mechanism to decide if a rule should run or not.<br><br><br><br>By default any rule which is declared 'active' in the [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md) or not suppressed by a [Suppress](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-suppress/index.html) annotation on file level should run.<br><br><br><br> <br>Content <br>abstract fun [visitCondition](visit-condition.md)(root: KtFile): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [visitConstantExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstantExpression/#org.jetbrains.kotlin.psi.KtConstantExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitConstantExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstantExpression/#org.jetbrains.kotlin.psi.KtConstantExpression/PointingToDeclaration/)(@NotNull()p0: KtConstantExpression) <br>override fun [visitConstantExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstantExpression/#org.jetbrains.kotlin.psi.KtConstantExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtConstantExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitConstructorCalleeExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstructorCalleeExpression/#org.jetbrains.kotlin.psi.KtConstructorCalleeExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitConstructorCalleeExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstructorCalleeExpression/#org.jetbrains.kotlin.psi.KtConstructorCalleeExpression/PointingToDeclaration/)(@NotNull()p0: KtConstructorCalleeExpression) <br>override fun [visitConstructorCalleeExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstructorCalleeExpression/#org.jetbrains.kotlin.psi.KtConstructorCalleeExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtConstructorCalleeExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitConstructorDelegationCall](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstructorDelegationCall/#org.jetbrains.kotlin.psi.KtConstructorDelegationCall/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitConstructorDelegationCall](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstructorDelegationCall/#org.jetbrains.kotlin.psi.KtConstructorDelegationCall/PointingToDeclaration/)(@NotNull()p0: KtConstructorDelegationCall) <br>override fun [visitConstructorDelegationCall](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitConstructorDelegationCall/#org.jetbrains.kotlin.psi.KtConstructorDelegationCall#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtConstructorDelegationCall, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitContinueExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitContinueExpression/#org.jetbrains.kotlin.psi.KtContinueExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitContinueExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitContinueExpression/#org.jetbrains.kotlin.psi.KtContinueExpression/PointingToDeclaration/)(@NotNull()p0: KtContinueExpression) <br>override fun [visitContinueExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitContinueExpression/#org.jetbrains.kotlin.psi.KtContinueExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtContinueExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDeclaration/#org.jetbrains.kotlin.psi.KtDeclaration/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDeclaration/#org.jetbrains.kotlin.psi.KtDeclaration/PointingToDeclaration/)(@NotNull()p0: KtDeclaration) <br>override fun [visitDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDeclaration/#org.jetbrains.kotlin.psi.KtDeclaration#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDeclaration, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDelegatedSuperTypeEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDelegatedSuperTypeEntry/#org.jetbrains.kotlin.psi.KtDelegatedSuperTypeEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDelegatedSuperTypeEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDelegatedSuperTypeEntry/#org.jetbrains.kotlin.psi.KtDelegatedSuperTypeEntry/PointingToDeclaration/)(@NotNull()p0: KtDelegatedSuperTypeEntry) <br>override fun [visitDelegatedSuperTypeEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDelegatedSuperTypeEntry/#org.jetbrains.kotlin.psi.KtDelegatedSuperTypeEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDelegatedSuperTypeEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDestructuringDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDestructuringDeclaration/#org.jetbrains.kotlin.psi.KtDestructuringDeclaration/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDestructuringDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDestructuringDeclaration/#org.jetbrains.kotlin.psi.KtDestructuringDeclaration/PointingToDeclaration/)(@NotNull()p0: KtDestructuringDeclaration) <br>override fun [visitDestructuringDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDestructuringDeclaration/#org.jetbrains.kotlin.psi.KtDestructuringDeclaration#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDestructuringDeclaration, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDestructuringDeclarationEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDestructuringDeclarationEntry/#org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDestructuringDeclarationEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDestructuringDeclarationEntry/#org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry/PointingToDeclaration/)(@NotNull()p0: KtDestructuringDeclarationEntry) <br>override fun [visitDestructuringDeclarationEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDestructuringDeclarationEntry/#org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDestructuringDeclarationEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDirectory](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitDirectory/#org.jetbrains.kotlin.com.intellij.psi.PsiDirectory/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDirectory](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitDirectory/#org.jetbrains.kotlin.com.intellij.psi.PsiDirectory/PointingToDeclaration/)(p0: PsiDirectory) <br><br><br>
| [visitDotQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDotQualifiedExpression/#org.jetbrains.kotlin.psi.KtDotQualifiedExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDotQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDotQualifiedExpression/#org.jetbrains.kotlin.psi.KtDotQualifiedExpression/PointingToDeclaration/)(@NotNull()p0: KtDotQualifiedExpression) <br>override fun [visitDotQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDotQualifiedExpression/#org.jetbrains.kotlin.psi.KtDotQualifiedExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDotQualifiedExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDoubleColonExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDoubleColonExpression/#org.jetbrains.kotlin.psi.KtDoubleColonExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDoubleColonExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDoubleColonExpression/#org.jetbrains.kotlin.psi.KtDoubleColonExpression/PointingToDeclaration/)(@NotNull()p0: KtDoubleColonExpression) <br>override fun [visitDoubleColonExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDoubleColonExpression/#org.jetbrains.kotlin.psi.KtDoubleColonExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDoubleColonExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDoWhileExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDoWhileExpression/#org.jetbrains.kotlin.psi.KtDoWhileExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDoWhileExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDoWhileExpression/#org.jetbrains.kotlin.psi.KtDoWhileExpression/PointingToDeclaration/)(@NotNull()p0: KtDoWhileExpression) <br>override fun [visitDoWhileExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDoWhileExpression/#org.jetbrains.kotlin.psi.KtDoWhileExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDoWhileExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitDynamicType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDynamicType/#org.jetbrains.kotlin.psi.KtDynamicType/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitDynamicType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDynamicType/#org.jetbrains.kotlin.psi.KtDynamicType/PointingToDeclaration/)(@NotNull()p0: KtDynamicType) <br>open override fun [visitDynamicType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitDynamicType/#org.jetbrains.kotlin.psi.KtDynamicType#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtDynamicType, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitElement](index.md#org.jetbrains.kotlin.psi/KtTreeVisitorVoid/visitElement/#org.jetbrains.kotlin.com.intellij.psi.PsiElement/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitElement](index.md#org.jetbrains.kotlin.psi/KtTreeVisitorVoid/visitElement/#org.jetbrains.kotlin.com.intellij.psi.PsiElement/PointingToDeclaration/)(@NotNull()p0: PsiElement) <br><br><br>
| [visitEnumEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitEnumEntry/#org.jetbrains.kotlin.psi.KtEnumEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitEnumEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitEnumEntry/#org.jetbrains.kotlin.psi.KtEnumEntry/PointingToDeclaration/)(@NotNull()p0: KtEnumEntry) <br>override fun [visitEnumEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitEnumEntry/#org.jetbrains.kotlin.psi.KtEnumEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtEnumEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitErrorElement](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitErrorElement/#org.jetbrains.kotlin.com.intellij.psi.PsiErrorElement/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitErrorElement](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitErrorElement/#org.jetbrains.kotlin.com.intellij.psi.PsiErrorElement/PointingToDeclaration/)(p0: PsiErrorElement) <br><br><br>
| [visitEscapeStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitEscapeStringTemplateEntry/#org.jetbrains.kotlin.psi.KtEscapeStringTemplateEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitEscapeStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitEscapeStringTemplateEntry/#org.jetbrains.kotlin.psi.KtEscapeStringTemplateEntry/PointingToDeclaration/)(@NotNull()p0: KtEscapeStringTemplateEntry) <br>override fun [visitEscapeStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitEscapeStringTemplateEntry/#org.jetbrains.kotlin.psi.KtEscapeStringTemplateEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtEscapeStringTemplateEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitExpression/#org.jetbrains.kotlin.psi.KtExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitExpression/#org.jetbrains.kotlin.psi.KtExpression/PointingToDeclaration/)(@NotNull()p0: KtExpression) <br>override fun [visitExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitExpression/#org.jetbrains.kotlin.psi.KtExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitExpressionWithLabel](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitExpressionWithLabel/#org.jetbrains.kotlin.psi.KtExpressionWithLabel/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitExpressionWithLabel](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitExpressionWithLabel/#org.jetbrains.kotlin.psi.KtExpressionWithLabel/PointingToDeclaration/)(@NotNull()p0: KtExpressionWithLabel) <br>override fun [visitExpressionWithLabel](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitExpressionWithLabel/#org.jetbrains.kotlin.psi.KtExpressionWithLabel#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtExpressionWithLabel, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitFile](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitFile/#org.jetbrains.kotlin.com.intellij.psi.PsiFile/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitFile](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitFile/#org.jetbrains.kotlin.com.intellij.psi.PsiFile/PointingToDeclaration/)(p0: PsiFile) <br><br><br>[jvm] <br>Brief description <br><br><br>Before starting visiting kotlin elements, a check is performed if this rule should be triggered. Pre- and post-visit-hooks are executed before/after the visiting process. BindingContext holds the result of the semantic analysis of the source code by the Kotlin compiler. Rules that rely on symbols and types being resolved can use the BindingContext for this analysis. Note that detekt must receive the correct compile classpath for the code being analyzed otherwise the default value BindingContext.EMPTY will be used and it will not be possible for detekt to resolve types or symbols.<br><br> <br>Content <br>fun [visitFile](visit-file.md)(root: KtFile, bindingContext: BindingContext, compilerResources: [CompilerResources](../-compiler-resources/index.md)?) <br><br><br>
| [visitFileAnnotationList](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitFileAnnotationList/#org.jetbrains.kotlin.psi.KtFileAnnotationList#java.lang.Void/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitFileAnnotationList](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitFileAnnotationList/#org.jetbrains.kotlin.psi.KtFileAnnotationList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtFileAnnotationList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitFinallySection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitFinallySection/#org.jetbrains.kotlin.psi.KtFinallySection/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitFinallySection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitFinallySection/#org.jetbrains.kotlin.psi.KtFinallySection/PointingToDeclaration/)(@NotNull()p0: KtFinallySection) <br>override fun [visitFinallySection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitFinallySection/#org.jetbrains.kotlin.psi.KtFinallySection#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtFinallySection, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitForExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitForExpression/#org.jetbrains.kotlin.psi.KtForExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitForExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitForExpression/#org.jetbrains.kotlin.psi.KtForExpression/PointingToDeclaration/)(@NotNull()p0: KtForExpression) <br>override fun [visitForExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitForExpression/#org.jetbrains.kotlin.psi.KtForExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtForExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitFunctionType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitFunctionType/#org.jetbrains.kotlin.psi.KtFunctionType/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitFunctionType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitFunctionType/#org.jetbrains.kotlin.psi.KtFunctionType/PointingToDeclaration/)(@NotNull()p0: KtFunctionType) <br>override fun [visitFunctionType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitFunctionType/#org.jetbrains.kotlin.psi.KtFunctionType#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtFunctionType, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitIfExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitIfExpression/#org.jetbrains.kotlin.psi.KtIfExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitIfExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitIfExpression/#org.jetbrains.kotlin.psi.KtIfExpression/PointingToDeclaration/)(@NotNull()p0: KtIfExpression) <br>override fun [visitIfExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitIfExpression/#org.jetbrains.kotlin.psi.KtIfExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtIfExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitImportAlias](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportAlias/#org.jetbrains.kotlin.psi.KtImportAlias/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitImportAlias](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportAlias/#org.jetbrains.kotlin.psi.KtImportAlias/PointingToDeclaration/)(@NotNull()p0: KtImportAlias) <br>open override fun [visitImportAlias](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitImportAlias/#org.jetbrains.kotlin.psi.KtImportAlias#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtImportAlias, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitImportDirective](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportDirective/#org.jetbrains.kotlin.psi.KtImportDirective/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitImportDirective](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportDirective/#org.jetbrains.kotlin.psi.KtImportDirective/PointingToDeclaration/)(@NotNull()p0: KtImportDirective) <br>override fun [visitImportDirective](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportDirective/#org.jetbrains.kotlin.psi.KtImportDirective#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtImportDirective, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitImportList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportList/#org.jetbrains.kotlin.psi.KtImportList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitImportList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportList/#org.jetbrains.kotlin.psi.KtImportList/PointingToDeclaration/)(@NotNull()p0: KtImportList) <br>override fun [visitImportList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitImportList/#org.jetbrains.kotlin.psi.KtImportList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtImportList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitInitializerList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitInitializerList/#org.jetbrains.kotlin.psi.KtInitializerList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitInitializerList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitInitializerList/#org.jetbrains.kotlin.psi.KtInitializerList/PointingToDeclaration/)(@NotNull()p0: KtInitializerList) <br>override fun [visitInitializerList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitInitializerList/#org.jetbrains.kotlin.psi.KtInitializerList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtInitializerList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitIsExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitIsExpression/#org.jetbrains.kotlin.psi.KtIsExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitIsExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitIsExpression/#org.jetbrains.kotlin.psi.KtIsExpression/PointingToDeclaration/)(@NotNull()p0: KtIsExpression) <br>override fun [visitIsExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitIsExpression/#org.jetbrains.kotlin.psi.KtIsExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtIsExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitKtElement](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitKtElement/#org.jetbrains.kotlin.psi.KtElement/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitKtElement](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitKtElement/#org.jetbrains.kotlin.psi.KtElement/PointingToDeclaration/)(@NotNull()p0: KtElement) <br>override fun [visitKtElement](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitKtElement/#org.jetbrains.kotlin.psi.KtElement#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtElement, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitKtFile](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitKtFile/#org.jetbrains.kotlin.psi.KtFile/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitKtFile](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitKtFile/#org.jetbrains.kotlin.psi.KtFile/PointingToDeclaration/)(@NotNull()p0: KtFile) <br>override fun [visitKtFile](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitKtFile/#org.jetbrains.kotlin.psi.KtFile#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtFile, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitLabeledExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLabeledExpression/#org.jetbrains.kotlin.psi.KtLabeledExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitLabeledExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLabeledExpression/#org.jetbrains.kotlin.psi.KtLabeledExpression/PointingToDeclaration/)(@NotNull()p0: KtLabeledExpression) <br>override fun [visitLabeledExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLabeledExpression/#org.jetbrains.kotlin.psi.KtLabeledExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtLabeledExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitLambdaExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLambdaExpression/#org.jetbrains.kotlin.psi.KtLambdaExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitLambdaExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLambdaExpression/#org.jetbrains.kotlin.psi.KtLambdaExpression/PointingToDeclaration/)(@NotNull()p0: KtLambdaExpression) <br>override fun [visitLambdaExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLambdaExpression/#org.jetbrains.kotlin.psi.KtLambdaExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtLambdaExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitLiteralStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLiteralStringTemplateEntry/#org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitLiteralStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLiteralStringTemplateEntry/#org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry/PointingToDeclaration/)(@NotNull()p0: KtLiteralStringTemplateEntry) <br>override fun [visitLiteralStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLiteralStringTemplateEntry/#org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtLiteralStringTemplateEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitLoopExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLoopExpression/#org.jetbrains.kotlin.psi.KtLoopExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitLoopExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLoopExpression/#org.jetbrains.kotlin.psi.KtLoopExpression/PointingToDeclaration/)(@NotNull()p0: KtLoopExpression) <br>override fun [visitLoopExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitLoopExpression/#org.jetbrains.kotlin.psi.KtLoopExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtLoopExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitModifierList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitModifierList/#org.jetbrains.kotlin.psi.KtModifierList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitModifierList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitModifierList/#org.jetbrains.kotlin.psi.KtModifierList/PointingToDeclaration/)(@NotNull()p0: KtModifierList) <br>override fun [visitModifierList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitModifierList/#org.jetbrains.kotlin.psi.KtModifierList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtModifierList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitNamedDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNamedDeclaration/#org.jetbrains.kotlin.psi.KtNamedDeclaration/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitNamedDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNamedDeclaration/#org.jetbrains.kotlin.psi.KtNamedDeclaration/PointingToDeclaration/)(@NotNull()p0: KtNamedDeclaration) <br>override fun [visitNamedDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNamedDeclaration/#org.jetbrains.kotlin.psi.KtNamedDeclaration#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtNamedDeclaration, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitNamedFunction](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNamedFunction/#org.jetbrains.kotlin.psi.KtNamedFunction/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitNamedFunction](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNamedFunction/#org.jetbrains.kotlin.psi.KtNamedFunction/PointingToDeclaration/)(@NotNull()p0: KtNamedFunction) <br>override fun [visitNamedFunction](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNamedFunction/#org.jetbrains.kotlin.psi.KtNamedFunction#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtNamedFunction, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitNullableType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNullableType/#org.jetbrains.kotlin.psi.KtNullableType/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitNullableType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNullableType/#org.jetbrains.kotlin.psi.KtNullableType/PointingToDeclaration/)(@NotNull()p0: KtNullableType) <br>override fun [visitNullableType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitNullableType/#org.jetbrains.kotlin.psi.KtNullableType#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtNullableType, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitObjectDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitObjectDeclaration/#org.jetbrains.kotlin.psi.KtObjectDeclaration/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitObjectDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitObjectDeclaration/#org.jetbrains.kotlin.psi.KtObjectDeclaration/PointingToDeclaration/)(@NotNull()p0: KtObjectDeclaration) <br>override fun [visitObjectDeclaration](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitObjectDeclaration/#org.jetbrains.kotlin.psi.KtObjectDeclaration#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtObjectDeclaration, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitObjectLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitObjectLiteralExpression/#org.jetbrains.kotlin.psi.KtObjectLiteralExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitObjectLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitObjectLiteralExpression/#org.jetbrains.kotlin.psi.KtObjectLiteralExpression/PointingToDeclaration/)(@NotNull()p0: KtObjectLiteralExpression) <br>override fun [visitObjectLiteralExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitObjectLiteralExpression/#org.jetbrains.kotlin.psi.KtObjectLiteralExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtObjectLiteralExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitOuterLanguageElement](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitOuterLanguageElement/#org.jetbrains.kotlin.com.intellij.psi.templateLanguages.OuterLanguageElement/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitOuterLanguageElement](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitOuterLanguageElement/#org.jetbrains.kotlin.com.intellij.psi.templateLanguages.OuterLanguageElement/PointingToDeclaration/)(p0: OuterLanguageElement) <br><br><br>
| [visitPackageDirective](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPackageDirective/#org.jetbrains.kotlin.psi.KtPackageDirective/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPackageDirective](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPackageDirective/#org.jetbrains.kotlin.psi.KtPackageDirective/PointingToDeclaration/)(@NotNull()p0: KtPackageDirective) <br>open override fun [visitPackageDirective](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPackageDirective/#org.jetbrains.kotlin.psi.KtPackageDirective#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtPackageDirective, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitParameter](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParameter/#org.jetbrains.kotlin.psi.KtParameter/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitParameter](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParameter/#org.jetbrains.kotlin.psi.KtParameter/PointingToDeclaration/)(@NotNull()p0: KtParameter) <br>override fun [visitParameter](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParameter/#org.jetbrains.kotlin.psi.KtParameter#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtParameter, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitParameterList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParameterList/#org.jetbrains.kotlin.psi.KtParameterList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitParameterList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParameterList/#org.jetbrains.kotlin.psi.KtParameterList/PointingToDeclaration/)(@NotNull()p0: KtParameterList) <br>override fun [visitParameterList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParameterList/#org.jetbrains.kotlin.psi.KtParameterList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtParameterList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitParenthesizedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParenthesizedExpression/#org.jetbrains.kotlin.psi.KtParenthesizedExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitParenthesizedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParenthesizedExpression/#org.jetbrains.kotlin.psi.KtParenthesizedExpression/PointingToDeclaration/)(@NotNull()p0: KtParenthesizedExpression) <br>override fun [visitParenthesizedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitParenthesizedExpression/#org.jetbrains.kotlin.psi.KtParenthesizedExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtParenthesizedExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitPlainText](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitPlainText/#org.jetbrains.kotlin.com.intellij.psi.PsiPlainText/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPlainText](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitPlainText/#org.jetbrains.kotlin.com.intellij.psi.PsiPlainText/PointingToDeclaration/)(p0: PsiPlainText) <br><br><br>
| [visitPlainTextFile](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitPlainTextFile/#org.jetbrains.kotlin.com.intellij.psi.PsiPlainTextFile/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPlainTextFile](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitPlainTextFile/#org.jetbrains.kotlin.com.intellij.psi.PsiPlainTextFile/PointingToDeclaration/)(p0: PsiPlainTextFile) <br><br><br>
| [visitPostfixExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPostfixExpression/#org.jetbrains.kotlin.psi.KtPostfixExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPostfixExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPostfixExpression/#org.jetbrains.kotlin.psi.KtPostfixExpression/PointingToDeclaration/)(@NotNull()p0: KtPostfixExpression) <br>override fun [visitPostfixExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPostfixExpression/#org.jetbrains.kotlin.psi.KtPostfixExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtPostfixExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitPrefixExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPrefixExpression/#org.jetbrains.kotlin.psi.KtPrefixExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPrefixExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPrefixExpression/#org.jetbrains.kotlin.psi.KtPrefixExpression/PointingToDeclaration/)(@NotNull()p0: KtPrefixExpression) <br>override fun [visitPrefixExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPrefixExpression/#org.jetbrains.kotlin.psi.KtPrefixExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtPrefixExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitPrimaryConstructor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPrimaryConstructor/#org.jetbrains.kotlin.psi.KtPrimaryConstructor/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPrimaryConstructor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPrimaryConstructor/#org.jetbrains.kotlin.psi.KtPrimaryConstructor/PointingToDeclaration/)(@NotNull()p0: KtPrimaryConstructor) <br>override fun [visitPrimaryConstructor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPrimaryConstructor/#org.jetbrains.kotlin.psi.KtPrimaryConstructor#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtPrimaryConstructor, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitProperty](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitProperty/#org.jetbrains.kotlin.psi.KtProperty/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitProperty](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitProperty/#org.jetbrains.kotlin.psi.KtProperty/PointingToDeclaration/)(@NotNull()p0: KtProperty) <br>override fun [visitProperty](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitProperty/#org.jetbrains.kotlin.psi.KtProperty#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtProperty, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitPropertyAccessor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPropertyAccessor/#org.jetbrains.kotlin.psi.KtPropertyAccessor/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPropertyAccessor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPropertyAccessor/#org.jetbrains.kotlin.psi.KtPropertyAccessor/PointingToDeclaration/)(@NotNull()p0: KtPropertyAccessor) <br>override fun [visitPropertyAccessor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPropertyAccessor/#org.jetbrains.kotlin.psi.KtPropertyAccessor#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtPropertyAccessor, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitPropertyDelegate](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPropertyDelegate/#org.jetbrains.kotlin.psi.KtPropertyDelegate/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitPropertyDelegate](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPropertyDelegate/#org.jetbrains.kotlin.psi.KtPropertyDelegate/PointingToDeclaration/)(@NotNull()p0: KtPropertyDelegate) <br>override fun [visitPropertyDelegate](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitPropertyDelegate/#org.jetbrains.kotlin.psi.KtPropertyDelegate#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtPropertyDelegate, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitQualifiedExpression/#org.jetbrains.kotlin.psi.KtQualifiedExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitQualifiedExpression/#org.jetbrains.kotlin.psi.KtQualifiedExpression/PointingToDeclaration/)(@NotNull()p0: KtQualifiedExpression) <br>override fun [visitQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitQualifiedExpression/#org.jetbrains.kotlin.psi.KtQualifiedExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtQualifiedExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitReferenceExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitReferenceExpression/#org.jetbrains.kotlin.psi.KtReferenceExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitReferenceExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitReferenceExpression/#org.jetbrains.kotlin.psi.KtReferenceExpression/PointingToDeclaration/)(@NotNull()p0: KtReferenceExpression) <br>override fun [visitReferenceExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitReferenceExpression/#org.jetbrains.kotlin.psi.KtReferenceExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtReferenceExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitReturnExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitReturnExpression/#org.jetbrains.kotlin.psi.KtReturnExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitReturnExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitReturnExpression/#org.jetbrains.kotlin.psi.KtReturnExpression/PointingToDeclaration/)(@NotNull()p0: KtReturnExpression) <br>override fun [visitReturnExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitReturnExpression/#org.jetbrains.kotlin.psi.KtReturnExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtReturnExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSafeQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSafeQualifiedExpression/#org.jetbrains.kotlin.psi.KtSafeQualifiedExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSafeQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSafeQualifiedExpression/#org.jetbrains.kotlin.psi.KtSafeQualifiedExpression/PointingToDeclaration/)(@NotNull()p0: KtSafeQualifiedExpression) <br>override fun [visitSafeQualifiedExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSafeQualifiedExpression/#org.jetbrains.kotlin.psi.KtSafeQualifiedExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSafeQualifiedExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitScript](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitScript/#org.jetbrains.kotlin.psi.KtScript/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitScript](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitScript/#org.jetbrains.kotlin.psi.KtScript/PointingToDeclaration/)(@NotNull()p0: KtScript) <br>override fun [visitScript](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitScript/#org.jetbrains.kotlin.psi.KtScript#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtScript, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitScriptInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitScriptInitializer/#org.jetbrains.kotlin.psi.KtScriptInitializer/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitScriptInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitScriptInitializer/#org.jetbrains.kotlin.psi.KtScriptInitializer/PointingToDeclaration/)(@NotNull()p0: KtScriptInitializer) <br>open override fun [visitScriptInitializer](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitScriptInitializer/#org.jetbrains.kotlin.psi.KtScriptInitializer#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtScriptInitializer, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSecondaryConstructor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSecondaryConstructor/#org.jetbrains.kotlin.psi.KtSecondaryConstructor/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSecondaryConstructor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSecondaryConstructor/#org.jetbrains.kotlin.psi.KtSecondaryConstructor/PointingToDeclaration/)(@NotNull()p0: KtSecondaryConstructor) <br>override fun [visitSecondaryConstructor](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSecondaryConstructor/#org.jetbrains.kotlin.psi.KtSecondaryConstructor#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSecondaryConstructor, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSelfType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSelfType/#org.jetbrains.kotlin.psi.KtSelfType/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSelfType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSelfType/#org.jetbrains.kotlin.psi.KtSelfType/PointingToDeclaration/)(@NotNull()p0: KtSelfType) <br>override fun [visitSelfType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSelfType/#org.jetbrains.kotlin.psi.KtSelfType#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSelfType, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSimpleNameExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSimpleNameExpression/#org.jetbrains.kotlin.psi.KtSimpleNameExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSimpleNameExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSimpleNameExpression/#org.jetbrains.kotlin.psi.KtSimpleNameExpression/PointingToDeclaration/)(@NotNull()p0: KtSimpleNameExpression) <br>override fun [visitSimpleNameExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSimpleNameExpression/#org.jetbrains.kotlin.psi.KtSimpleNameExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSimpleNameExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSimpleNameStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSimpleNameStringTemplateEntry/#org.jetbrains.kotlin.psi.KtSimpleNameStringTemplateEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSimpleNameStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSimpleNameStringTemplateEntry/#org.jetbrains.kotlin.psi.KtSimpleNameStringTemplateEntry/PointingToDeclaration/)(@NotNull()p0: KtSimpleNameStringTemplateEntry) <br>override fun [visitSimpleNameStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSimpleNameStringTemplateEntry/#org.jetbrains.kotlin.psi.KtSimpleNameStringTemplateEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSimpleNameStringTemplateEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateEntry/#org.jetbrains.kotlin.psi.KtStringTemplateEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateEntry/#org.jetbrains.kotlin.psi.KtStringTemplateEntry/PointingToDeclaration/)(@NotNull()p0: KtStringTemplateEntry) <br>override fun [visitStringTemplateEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateEntry/#org.jetbrains.kotlin.psi.KtStringTemplateEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtStringTemplateEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitStringTemplateEntryWithExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateEntryWithExpression/#org.jetbrains.kotlin.psi.KtStringTemplateEntryWithExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitStringTemplateEntryWithExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateEntryWithExpression/#org.jetbrains.kotlin.psi.KtStringTemplateEntryWithExpression/PointingToDeclaration/)(@NotNull()p0: KtStringTemplateEntryWithExpression) <br>override fun [visitStringTemplateEntryWithExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateEntryWithExpression/#org.jetbrains.kotlin.psi.KtStringTemplateEntryWithExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtStringTemplateEntryWithExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitStringTemplateExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateExpression/#org.jetbrains.kotlin.psi.KtStringTemplateExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitStringTemplateExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateExpression/#org.jetbrains.kotlin.psi.KtStringTemplateExpression/PointingToDeclaration/)(@NotNull()p0: KtStringTemplateExpression) <br>override fun [visitStringTemplateExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitStringTemplateExpression/#org.jetbrains.kotlin.psi.KtStringTemplateExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtStringTemplateExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSuperExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperExpression/#org.jetbrains.kotlin.psi.KtSuperExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSuperExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperExpression/#org.jetbrains.kotlin.psi.KtSuperExpression/PointingToDeclaration/)(@NotNull()p0: KtSuperExpression) <br>override fun [visitSuperExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperExpression/#org.jetbrains.kotlin.psi.KtSuperExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSuperExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSuperTypeCallEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeCallEntry/#org.jetbrains.kotlin.psi.KtSuperTypeCallEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSuperTypeCallEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeCallEntry/#org.jetbrains.kotlin.psi.KtSuperTypeCallEntry/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeCallEntry) <br>override fun [visitSuperTypeCallEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeCallEntry/#org.jetbrains.kotlin.psi.KtSuperTypeCallEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeCallEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSuperTypeEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeEntry/#org.jetbrains.kotlin.psi.KtSuperTypeEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSuperTypeEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeEntry/#org.jetbrains.kotlin.psi.KtSuperTypeEntry/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeEntry) <br>override fun [visitSuperTypeEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeEntry/#org.jetbrains.kotlin.psi.KtSuperTypeEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSuperTypeList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeList/#org.jetbrains.kotlin.psi.KtSuperTypeList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSuperTypeList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeList/#org.jetbrains.kotlin.psi.KtSuperTypeList/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeList) <br>override fun [visitSuperTypeList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeList/#org.jetbrains.kotlin.psi.KtSuperTypeList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitSuperTypeListEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeListEntry/#org.jetbrains.kotlin.psi.KtSuperTypeListEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitSuperTypeListEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeListEntry/#org.jetbrains.kotlin.psi.KtSuperTypeListEntry/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeListEntry) <br>override fun [visitSuperTypeListEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitSuperTypeListEntry/#org.jetbrains.kotlin.psi.KtSuperTypeListEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtSuperTypeListEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitThisExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitThisExpression/#org.jetbrains.kotlin.psi.KtThisExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitThisExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitThisExpression/#org.jetbrains.kotlin.psi.KtThisExpression/PointingToDeclaration/)(@NotNull()p0: KtThisExpression) <br>override fun [visitThisExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitThisExpression/#org.jetbrains.kotlin.psi.KtThisExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtThisExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitThrowExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitThrowExpression/#org.jetbrains.kotlin.psi.KtThrowExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitThrowExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitThrowExpression/#org.jetbrains.kotlin.psi.KtThrowExpression/PointingToDeclaration/)(@NotNull()p0: KtThrowExpression) <br>override fun [visitThrowExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitThrowExpression/#org.jetbrains.kotlin.psi.KtThrowExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtThrowExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTryExpression/#org.jetbrains.kotlin.psi.KtTryExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTryExpression/#org.jetbrains.kotlin.psi.KtTryExpression/PointingToDeclaration/)(@NotNull()p0: KtTryExpression) <br>override fun [visitTryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTryExpression/#org.jetbrains.kotlin.psi.KtTryExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTryExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeAlias](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeAlias/#org.jetbrains.kotlin.psi.KtTypeAlias/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeAlias](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeAlias/#org.jetbrains.kotlin.psi.KtTypeAlias/PointingToDeclaration/)(@NotNull()p0: KtTypeAlias) <br>override fun [visitTypeAlias](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeAlias/#org.jetbrains.kotlin.psi.KtTypeAlias#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeAlias, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeArgumentList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeArgumentList/#org.jetbrains.kotlin.psi.KtTypeArgumentList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeArgumentList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeArgumentList/#org.jetbrains.kotlin.psi.KtTypeArgumentList/PointingToDeclaration/)(@NotNull()p0: KtTypeArgumentList) <br>override fun [visitTypeArgumentList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeArgumentList/#org.jetbrains.kotlin.psi.KtTypeArgumentList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeArgumentList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeConstraint](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeConstraint/#org.jetbrains.kotlin.psi.KtTypeConstraint/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeConstraint](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeConstraint/#org.jetbrains.kotlin.psi.KtTypeConstraint/PointingToDeclaration/)(@NotNull()p0: KtTypeConstraint) <br>override fun [visitTypeConstraint](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeConstraint/#org.jetbrains.kotlin.psi.KtTypeConstraint#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeConstraint, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeConstraintList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeConstraintList/#org.jetbrains.kotlin.psi.KtTypeConstraintList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeConstraintList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeConstraintList/#org.jetbrains.kotlin.psi.KtTypeConstraintList/PointingToDeclaration/)(@NotNull()p0: KtTypeConstraintList) <br>override fun [visitTypeConstraintList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeConstraintList/#org.jetbrains.kotlin.psi.KtTypeConstraintList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeConstraintList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeElement](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitTypeElement/#org.jetbrains.kotlin.psi.KtTypeElement#java.lang.Void/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeElement](index.md#org.jetbrains.kotlin.psi/KtVisitor/visitTypeElement/#org.jetbrains.kotlin.psi.KtTypeElement#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeElement, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeParameter](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeParameter/#org.jetbrains.kotlin.psi.KtTypeParameter/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeParameter](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeParameter/#org.jetbrains.kotlin.psi.KtTypeParameter/PointingToDeclaration/)(@NotNull()p0: KtTypeParameter) <br>override fun [visitTypeParameter](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeParameter/#org.jetbrains.kotlin.psi.KtTypeParameter#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeParameter, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeParameterList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeParameterList/#org.jetbrains.kotlin.psi.KtTypeParameterList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeParameterList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeParameterList/#org.jetbrains.kotlin.psi.KtTypeParameterList/PointingToDeclaration/)(@NotNull()p0: KtTypeParameterList) <br>override fun [visitTypeParameterList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeParameterList/#org.jetbrains.kotlin.psi.KtTypeParameterList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeParameterList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeProjection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeProjection/#org.jetbrains.kotlin.psi.KtTypeProjection/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeProjection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeProjection/#org.jetbrains.kotlin.psi.KtTypeProjection/PointingToDeclaration/)(@NotNull()p0: KtTypeProjection) <br>override fun [visitTypeProjection](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeProjection/#org.jetbrains.kotlin.psi.KtTypeProjection#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeProjection, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitTypeReference](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeReference/#org.jetbrains.kotlin.psi.KtTypeReference/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitTypeReference](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeReference/#org.jetbrains.kotlin.psi.KtTypeReference/PointingToDeclaration/)(@NotNull()p0: KtTypeReference) <br>override fun [visitTypeReference](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitTypeReference/#org.jetbrains.kotlin.psi.KtTypeReference#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtTypeReference, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitUnaryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitUnaryExpression/#org.jetbrains.kotlin.psi.KtUnaryExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitUnaryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitUnaryExpression/#org.jetbrains.kotlin.psi.KtUnaryExpression/PointingToDeclaration/)(@NotNull()p0: KtUnaryExpression) <br>override fun [visitUnaryExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitUnaryExpression/#org.jetbrains.kotlin.psi.KtUnaryExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtUnaryExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitUserType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitUserType/#org.jetbrains.kotlin.psi.KtUserType/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitUserType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitUserType/#org.jetbrains.kotlin.psi.KtUserType/PointingToDeclaration/)(@NotNull()p0: KtUserType) <br>override fun [visitUserType](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitUserType/#org.jetbrains.kotlin.psi.KtUserType#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtUserType, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitValueArgumentList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitValueArgumentList/#org.jetbrains.kotlin.psi.KtValueArgumentList/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitValueArgumentList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitValueArgumentList/#org.jetbrains.kotlin.psi.KtValueArgumentList/PointingToDeclaration/)(@NotNull()p0: KtValueArgumentList) <br>override fun [visitValueArgumentList](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitValueArgumentList/#org.jetbrains.kotlin.psi.KtValueArgumentList#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtValueArgumentList, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhenConditionInRange](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionInRange/#org.jetbrains.kotlin.psi.KtWhenConditionInRange/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhenConditionInRange](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionInRange/#org.jetbrains.kotlin.psi.KtWhenConditionInRange/PointingToDeclaration/)(@NotNull()p0: KtWhenConditionInRange) <br>override fun [visitWhenConditionInRange](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionInRange/#org.jetbrains.kotlin.psi.KtWhenConditionInRange#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtWhenConditionInRange, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhenConditionIsPattern](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionIsPattern/#org.jetbrains.kotlin.psi.KtWhenConditionIsPattern/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhenConditionIsPattern](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionIsPattern/#org.jetbrains.kotlin.psi.KtWhenConditionIsPattern/PointingToDeclaration/)(@NotNull()p0: KtWhenConditionIsPattern) <br>override fun [visitWhenConditionIsPattern](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionIsPattern/#org.jetbrains.kotlin.psi.KtWhenConditionIsPattern#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtWhenConditionIsPattern, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhenConditionWithExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionWithExpression/#org.jetbrains.kotlin.psi.KtWhenConditionWithExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhenConditionWithExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionWithExpression/#org.jetbrains.kotlin.psi.KtWhenConditionWithExpression/PointingToDeclaration/)(@NotNull()p0: KtWhenConditionWithExpression) <br>override fun [visitWhenConditionWithExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenConditionWithExpression/#org.jetbrains.kotlin.psi.KtWhenConditionWithExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtWhenConditionWithExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhenEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenEntry/#org.jetbrains.kotlin.psi.KtWhenEntry/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhenEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenEntry/#org.jetbrains.kotlin.psi.KtWhenEntry/PointingToDeclaration/)(@NotNull()p0: KtWhenEntry) <br>override fun [visitWhenEntry](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenEntry/#org.jetbrains.kotlin.psi.KtWhenEntry#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtWhenEntry, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhenExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenExpression/#org.jetbrains.kotlin.psi.KtWhenExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhenExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenExpression/#org.jetbrains.kotlin.psi.KtWhenExpression/PointingToDeclaration/)(@NotNull()p0: KtWhenExpression) <br>override fun [visitWhenExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhenExpression/#org.jetbrains.kotlin.psi.KtWhenExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtWhenExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhileExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhileExpression/#org.jetbrains.kotlin.psi.KtWhileExpression/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhileExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhileExpression/#org.jetbrains.kotlin.psi.KtWhileExpression/PointingToDeclaration/)(@NotNull()p0: KtWhileExpression) <br>override fun [visitWhileExpression](index.md#org.jetbrains.kotlin.psi/KtVisitorVoid/visitWhileExpression/#org.jetbrains.kotlin.psi.KtWhileExpression#java.lang.Void/PointingToDeclaration/)(@NotNull()p0: KtWhileExpression, p1: [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html)): [Void](https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html) <br><br><br>
| [visitWhiteSpace](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitWhiteSpace/#org.jetbrains.kotlin.com.intellij.psi.PsiWhiteSpace/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [visitWhiteSpace](index.md#org.jetbrains.kotlin.com.intellij.psi/PsiElementVisitor/visitWhiteSpace/#org.jetbrains.kotlin.com.intellij.psi.PsiWhiteSpace/PointingToDeclaration/)(p0: PsiWhiteSpace) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [bindingContext](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/bindingContext/#/PointingToDeclaration/)| [jvm] var [bindingContext](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/bindingContext/#/PointingToDeclaration/): BindingContext <br>
| [compilerResources](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/compilerResources/#/PointingToDeclaration/)| [jvm] var [compilerResources](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/compilerResources/#/PointingToDeclaration/): [CompilerResources](../-compiler-resources/index.md)? <br>
| [findings](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/findings/#/PointingToDeclaration/)| [jvm] open override val [findings](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/findings/#/PointingToDeclaration/): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Finding](../../io.gitlab.arturbosch.detekt.api/-finding/index.md)> <br>
| [ruleId](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/ruleId/#/PointingToDeclaration/)| [jvm] open val [ruleId](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseRule/ruleId/#/PointingToDeclaration/): [RuleId](../../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleId///PointingToDeclaration/) <br>
## Inheritors
| Name|
|---|
| [MultiRule](../../io.gitlab.arturbosch.detekt.api/-multi-rule/index.md)
| [Rule](../../io.gitlab.arturbosch.detekt.api/-rule/index.md)

View File

@@ -1,28 +0,0 @@
---
title: visitCondition -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseRule](index.md)/[visitCondition](visit-condition.md)
# visitCondition
[jvm]
Brief description
Basic mechanism to decide if a rule should run or not.
By default any rule which is declared 'active' in the [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md) or not suppressed by a [Suppress](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-suppress/index.html) annotation on file level should run.
Content
abstract fun [visitCondition](visit-condition.md)(root: KtFile): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)

View File

@@ -1,20 +0,0 @@
---
title: visitFile -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseRule](index.md)/[visitFile](visit-file.md)
# visitFile
[jvm]
Brief description
Before starting visiting kotlin elements, a check is performed if this rule should be triggered. Pre- and post-visit-hooks are executed before/after the visiting process. BindingContext holds the result of the semantic analysis of the source code by the Kotlin compiler. Rules that rely on symbols and types being resolved can use the BindingContext for this analysis. Note that detekt must receive the correct compile classpath for the code being analyzed otherwise the default value BindingContext.EMPTY will be used and it will not be possible for detekt to resolve types or symbols.
Content
fun [visitFile](visit-file.md)(root: KtFile, bindingContext: BindingContext, compilerResources: [CompilerResources](../-compiler-resources/index.md)?)

View File

@@ -1,20 +0,0 @@
---
title: visit -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[BaseRule](index.md)/[visit](visit.md)
# visit
[jvm]
Brief description
Init function to start visiting the KtFile. Can be overridden to start a different visiting process.
Content
open fun [visit](visit.md)(root: KtFile)

View File

@@ -1,14 +0,0 @@
---
title: CommaSeparatedPattern -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CommaSeparatedPattern](index.md)/[CommaSeparatedPattern](-comma-separated-pattern.md)
# CommaSeparatedPattern
[jvm]
Content
fun [CommaSeparatedPattern](-comma-separated-pattern.md)(text: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), delimiters: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html))

View File

@@ -1,34 +0,0 @@
---
title: CommaSeparatedPattern -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CommaSeparatedPattern](index.md)
# CommaSeparatedPattern
[jvm] class [CommaSeparatedPattern](index.md)(**text**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **delimiters**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [SplitPattern](../../io.gitlab.arturbosch.detekt.api/-split-pattern/index.md)
## Functions
| Name| Summary|
|---|---|
| [any](../../io.gitlab.arturbosch.detekt.api/-split-pattern/any.md)| [jvm] <br>Brief description <br><br><br>Is there any element which matches the given value?<br><br> <br>Content <br>override fun [any](../../io.gitlab.arturbosch.detekt.api/-split-pattern/any.md)(value: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [contains](../../io.gitlab.arturbosch.detekt.api/-split-pattern/contains.md)| [jvm] <br>Brief description <br><br><br>Does any part contain given value?<br><br> <br>Content <br>override fun [contains](../../io.gitlab.arturbosch.detekt.api/-split-pattern/contains.md)(value: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [mapAll](../../io.gitlab.arturbosch.detekt.api/-split-pattern/map-all.md)| [jvm] <br>Brief description <br><br><br>Transforms all parts by given transform function.<br><br> <br>Content <br>override fun <T> [mapAll](../../io.gitlab.arturbosch.detekt.api/-split-pattern/map-all.md)(transform: ([String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) -> T): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<T> <br><br><br>
| [mapIf](index.md#io.gitlab.arturbosch.detekt.api/SplitPattern/mapIf/kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any?])]#kotlin.Boolean#kotlin.Function1[kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any?])],kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any?])]]/PointingToDeclaration/)| [jvm] <br>Content <br>override fun <T> [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<T>.[mapIf](index.md#io.gitlab.arturbosch.detekt.api/SplitPattern/mapIf/kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any?])]#kotlin.Boolean#kotlin.Function1[kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any?])],kotlin.sequences.Sequence[TypeParam(bounds=[kotlin.Any?])]]/PointingToDeclaration/)(condition: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html), then: ([Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<T>) -> [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<T>): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<T> <br><br><br>
| [mapToRegex](map-to-regex.md)| [jvm] <br>Content <br>fun [mapToRegex](map-to-regex.md)(): [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)> <br><br><br>
| [matches](../../io.gitlab.arturbosch.detekt.api/-split-pattern/matches.md)| [jvm] <br>Brief description <br><br><br>Finds all parts which match the given value.<br><br> <br>Content <br>override fun [matches](../../io.gitlab.arturbosch.detekt.api/-split-pattern/matches.md)(value: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> <br><br><br>
| [none](../../io.gitlab.arturbosch.detekt.api/-split-pattern/none.md)| [jvm] <br>Brief description <br><br><br>Tests if none of the parts contain the given value.<br><br> <br>Content <br>override fun [none](../../io.gitlab.arturbosch.detekt.api/-split-pattern/none.md)(value: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [startWith](../../io.gitlab.arturbosch.detekt.api/-split-pattern/start-with.md)| [jvm] <br>Brief description <br><br><br>Tests if any part starts with the given value<br><br> <br>Content <br>override fun [startWith](../../io.gitlab.arturbosch.detekt.api/-split-pattern/start-with.md)(value: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [excludes](index.md#io.gitlab.arturbosch.detekt.api.internal/CommaSeparatedPattern/excludes/#/PointingToDeclaration/)| [jvm] override val [excludes](index.md#io.gitlab.arturbosch.detekt.api.internal/CommaSeparatedPattern/excludes/#/PointingToDeclaration/): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> <br>

View File

@@ -1,14 +0,0 @@
---
title: mapToRegex -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CommaSeparatedPattern](index.md)/[mapToRegex](map-to-regex.md)
# mapToRegex
[jvm]
Content
fun [mapToRegex](map-to-regex.md)(): [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>

View File

@@ -1,14 +0,0 @@
---
title: CompilerResources -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompilerResources](index.md)/[CompilerResources](-compiler-resources.md)
# CompilerResources
[jvm]
Content
fun [CompilerResources](-compiler-resources.md)(languageVersionSettings: LanguageVersionSettings, dataFlowValueFactory: DataFlowValueFactory)

View File

@@ -1,14 +0,0 @@
---
title: component1 -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompilerResources](index.md)/[component1](component1.md)
# component1
[jvm]
Content
operator fun [component1](component1.md)(): LanguageVersionSettings

View File

@@ -1,14 +0,0 @@
---
title: component2 -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompilerResources](index.md)/[component2](component2.md)
# component2
[jvm]
Content
operator fun [component2](component2.md)(): DataFlowValueFactory

View File

@@ -1,14 +0,0 @@
---
title: copy -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompilerResources](index.md)/[copy](copy.md)
# copy
[jvm]
Content
fun [copy](copy.md)(languageVersionSettings: LanguageVersionSettings, dataFlowValueFactory: DataFlowValueFactory): [CompilerResources](index.md)

View File

@@ -1,41 +0,0 @@
---
title: CompilerResources -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompilerResources](index.md)
# CompilerResources
[jvm]
Provides compiler resources.
data class [CompilerResources](index.md)(**languageVersionSettings**: LanguageVersionSettings, **dataFlowValueFactory**: DataFlowValueFactory)
## Constructors
| Name| Summary|
|---|---|
| [CompilerResources](-compiler-resources.md)| [jvm] fun [CompilerResources](-compiler-resources.md)(languageVersionSettings: LanguageVersionSettings, dataFlowValueFactory: DataFlowValueFactory) <br>
## Functions
| Name| Summary|
|---|---|
| [component1](component1.md)| [jvm] <br>Content <br>operator fun [component1](component1.md)(): LanguageVersionSettings <br><br><br>
| [component2](component2.md)| [jvm] <br>Content <br>operator fun [component2](component2.md)(): DataFlowValueFactory <br><br><br>
| [copy](copy.md)| [jvm] <br>Content <br>fun [copy](copy.md)(languageVersionSettings: LanguageVersionSettings, dataFlowValueFactory: DataFlowValueFactory): [CompilerResources](index.md) <br><br><br>
| [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [dataFlowValueFactory](index.md#io.gitlab.arturbosch.detekt.api.internal/CompilerResources/dataFlowValueFactory/#/PointingToDeclaration/)| [jvm] val [dataFlowValueFactory](index.md#io.gitlab.arturbosch.detekt.api.internal/CompilerResources/dataFlowValueFactory/#/PointingToDeclaration/): DataFlowValueFactory <br>
| [languageVersionSettings](index.md#io.gitlab.arturbosch.detekt.api.internal/CompilerResources/languageVersionSettings/#/PointingToDeclaration/)| [jvm] val [languageVersionSettings](index.md#io.gitlab.arturbosch.detekt.api.internal/CompilerResources/languageVersionSettings/#/PointingToDeclaration/): LanguageVersionSettings <br>

View File

@@ -1,14 +0,0 @@
---
title: CompositeConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)/[CompositeConfig](-composite-config.md)
# CompositeConfig
[jvm]
Content
fun [CompositeConfig](-composite-config.md)(lookFirst: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), lookSecond: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md))

View File

@@ -1,41 +0,0 @@
---
title: CompositeConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)
# CompositeConfig
[jvm]
Wraps two different configuration which should be considered when retrieving properties.
class [CompositeConfig](index.md)(**lookFirst**: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), **lookSecond**: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)) : [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), [ValidatableConfiguration](../-validatable-configuration/index.md)
## Constructors
| Name| Summary|
|---|---|
| [CompositeConfig](-composite-config.md)| [jvm] fun [CompositeConfig](-composite-config.md)(lookFirst: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), lookSecond: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)) <br>
## Functions
| Name| Summary|
|---|---|
| [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [subConfig](sub-config.md)| [jvm] <br>Brief description <br><br><br>Tries to retrieve part of the configuration based on given key.<br><br> <br>Content <br>open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>
| [toString](to-string.md)| [jvm] <br>Content <br>open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [validate](validate.md)| [jvm] <br>Brief description <br><br><br>Validates both sides of the composite config according to defined properties of the baseline config.<br><br> <br>Content <br>open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)> <br><br><br>
| [valueOrDefault](value-or-default.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.<br><br> <br>Content <br>open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md) <br><br><br>
| [valueOrNull](value-or-null.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.<br><br> <br>Content <br>open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)? <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/CompositeConfig/parentPath/#/PointingToDeclaration/)| [jvm] <br><br><br><br>Keeps track of which key was taken to [subConfig](sub-config.md) this configuration. Sub-sequential calls to [subConfig](sub-config.md) are tracked with '>' as a separator.<br><br><br><br>May be null if this is the top most configuration object.<br><br><br><br>open override val [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/CompositeConfig/parentPath/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br>

View File

@@ -1,20 +0,0 @@
---
title: subConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)/[subConfig](sub-config.md)
# subConfig
[jvm]
Brief description
Tries to retrieve part of the configuration based on given key.
Content
open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)

View File

@@ -1,14 +0,0 @@
---
title: toString -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)/[toString](to-string.md)
# toString
[jvm]
Content
open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,20 +0,0 @@
---
title: validate -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)/[validate](validate.md)
# validate
[jvm]
Brief description
Validates both sides of the composite config according to defined properties of the baseline config.
Content
open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)>

View File

@@ -1,20 +0,0 @@
---
title: valueOrDefault -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)/[valueOrDefault](value-or-default.md)
# valueOrDefault
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.
Content
open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md)

View File

@@ -1,20 +0,0 @@
---
title: valueOrNull -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[CompositeConfig](index.md)/[valueOrNull](value-or-null.md)
# valueOrNull
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.
Content
open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)?

View File

@@ -1,39 +0,0 @@
---
title: DefaultRuleSetProvider -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DefaultRuleSetProvider](index.md)
# DefaultRuleSetProvider
[jvm]
Interface which marks sub-classes as provided by detekt via the rules sub-module.
Allows to implement "--disable-default-rulesets" effectively without the need to manage a list of rule set names.
interface [DefaultRuleSetProvider](index.md) : [RuleSetProvider](../../io.gitlab.arturbosch.detekt.api/-rule-set-provider/index.md)
## Functions
| Name| Summary|
|---|---|
| [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [instance](../../io.gitlab.arturbosch.detekt.api/-rule-set-provider/instance.md)| [jvm] <br>Brief description <br><br><br>This function must be implemented to provide custom rule sets. Make sure to pass the configuration to each rule to allow rules to be self configurable.<br><br> <br>Content <br>abstract override fun [instance](../../io.gitlab.arturbosch.detekt.api/-rule-set-provider/instance.md)(config: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)): [RuleSet](../../io.gitlab.arturbosch.detekt.api/-rule-set/index.md) <br><br><br>
| [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [ruleSetId](index.md#io.gitlab.arturbosch.detekt.api.internal/DefaultRuleSetProvider/ruleSetId/#/PointingToDeclaration/)| [jvm] <br><br>Every rule set must be pre-configured with an ID to validate if this rule set must be created for current analysis.<br><br>abstract override val [ruleSetId](index.md#io.gitlab.arturbosch.detekt.api.internal/DefaultRuleSetProvider/ruleSetId/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br>

View File

@@ -1,14 +0,0 @@
---
title: DisabledAutoCorrectConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DisabledAutoCorrectConfig](index.md)/[DisabledAutoCorrectConfig](-disabled-auto-correct-config.md)
# DisabledAutoCorrectConfig
[jvm]
Content
fun [DisabledAutoCorrectConfig](-disabled-auto-correct-config.md)(wrapped: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md))

View File

@@ -1,30 +0,0 @@
---
title: DisabledAutoCorrectConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DisabledAutoCorrectConfig](index.md)
# DisabledAutoCorrectConfig
[jvm] class [DisabledAutoCorrectConfig](index.md)(**wrapped**: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)) : [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), [ValidatableConfiguration](../-validatable-configuration/index.md)
## Functions
| Name| Summary|
|---|---|
| [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [subConfig](sub-config.md)| [jvm] <br>Brief description <br><br><br>Tries to retrieve part of the configuration based on given key.<br><br> <br>Content <br>open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>
| [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [validate](validate.md)| [jvm] <br>Content <br>open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)> <br><br><br>
| [valueOrDefault](value-or-default.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.<br><br> <br>Content <br>open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md) <br><br><br>
| [valueOrNull](value-or-null.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.<br><br> <br>Content <br>open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)? <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/DisabledAutoCorrectConfig/parentPath/#/PointingToDeclaration/)| [jvm] <br><br><br><br>Keeps track of which key was taken to [subConfig](sub-config.md) this configuration. Sub-sequential calls to [subConfig](sub-config.md) are tracked with '>' as a separator.<br><br><br><br>May be null if this is the top most configuration object.<br><br><br><br>open override val [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/DisabledAutoCorrectConfig/parentPath/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br>

View File

@@ -1,20 +0,0 @@
---
title: subConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DisabledAutoCorrectConfig](index.md)/[subConfig](sub-config.md)
# subConfig
[jvm]
Brief description
Tries to retrieve part of the configuration based on given key.
Content
open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)

View File

@@ -1,14 +0,0 @@
---
title: validate -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DisabledAutoCorrectConfig](index.md)/[validate](validate.md)
# validate
[jvm]
Content
open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)>

View File

@@ -1,20 +0,0 @@
---
title: valueOrDefault -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DisabledAutoCorrectConfig](index.md)/[valueOrDefault](value-or-default.md)
# valueOrDefault
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.
Content
open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md)

View File

@@ -1,20 +0,0 @@
---
title: valueOrNull -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[DisabledAutoCorrectConfig](index.md)/[valueOrNull](value-or-null.md)
# valueOrNull
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.
Content
open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)?

View File

@@ -1,14 +0,0 @@
---
title: FailFastConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)/[FailFastConfig](-fail-fast-config.md)
# FailFastConfig
[jvm]
Content
fun [FailFastConfig](-fail-fast-config.md)(originalConfig: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), defaultConfig: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md))

View File

@@ -1,14 +0,0 @@
---
title: copy -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)/[copy](copy.md)
# copy
[jvm]
Content
fun [copy](copy.md)(originalConfig: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), defaultConfig: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)): [FailFastConfig](index.md)

View File

@@ -1,31 +0,0 @@
---
title: FailFastConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)
# FailFastConfig
[jvm] data class [FailFastConfig](index.md)(**originalConfig**: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), **defaultConfig**: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)) : [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), [ValidatableConfiguration](../-validatable-configuration/index.md)
## Functions
| Name| Summary|
|---|---|
| [copy](copy.md)| [jvm] <br>Content <br>fun [copy](copy.md)(originalConfig: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), defaultConfig: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)): [FailFastConfig](index.md) <br><br><br>
| [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [subConfig](sub-config.md)| [jvm] <br>Brief description <br><br><br>Tries to retrieve part of the configuration based on given key.<br><br> <br>Content <br>open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [FailFastConfig](index.md) <br><br><br>
| [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [validate](validate.md)| [jvm] <br>Content <br>open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)> <br><br><br>
| [valueOrDefault](value-or-default.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.<br><br> <br>Content <br>open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md) <br><br><br>
| [valueOrNull](value-or-null.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.<br><br> <br>Content <br>open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)? <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/FailFastConfig/parentPath/#/PointingToDeclaration/)| [jvm] <br><br><br><br>Keeps track of which key was taken to [subConfig](sub-config.md) this configuration. Sub-sequential calls to [subConfig](sub-config.md) are tracked with '>' as a separator.<br><br><br><br>May be null if this is the top most configuration object.<br><br><br><br>open override val [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/FailFastConfig/parentPath/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br>

View File

@@ -1,20 +0,0 @@
---
title: subConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)/[subConfig](sub-config.md)
# subConfig
[jvm]
Brief description
Tries to retrieve part of the configuration based on given key.
Content
open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [FailFastConfig](index.md)

View File

@@ -1,14 +0,0 @@
---
title: validate -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)/[validate](validate.md)
# validate
[jvm]
Content
open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)>

View File

@@ -1,20 +0,0 @@
---
title: valueOrDefault -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)/[valueOrDefault](value-or-default.md)
# valueOrDefault
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.
Content
open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md)

View File

@@ -1,20 +0,0 @@
---
title: valueOrNull -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[FailFastConfig](index.md)/[valueOrNull](value-or-null.md)
# valueOrNull
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.
Content
open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)?

View File

@@ -1,20 +0,0 @@
---
title: Companion -
---
//[detekt-api](../../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../../index.md)/[PathFilters](../index.md)/[Companion](index.md)
# Companion
[jvm] object [Companion](index.md)
## Functions
| Name| Summary|
|---|---|
| [equals](../../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [of](of.md)| [jvm] <br>Content <br>fun [of](of.md)(includes: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, excludes: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>): [PathFilters](../index.md)? <br><br><br>
| [toString](index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>

View File

@@ -1,14 +0,0 @@
---
title: of -
---
//[detekt-api](../../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../../index.md)/[PathFilters](../index.md)/[Companion](index.md)/[of](of.md)
# of
[jvm]
Content
fun [of](of.md)(includes: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, excludes: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>): [PathFilters](../index.md)?

View File

@@ -1,27 +0,0 @@
---
title: PathFilters -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[PathFilters](index.md)
# PathFilters
[jvm] class [PathFilters](index.md)
## Types
| Name| Summary|
|---|---|
| [Companion](-companion/index.md)| [jvm] <br>Content <br>object [Companion](-companion/index.md) <br><br><br>
## Functions
| Name| Summary|
|---|---|
| [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [isIgnored](is-ignored.md)| [jvm] <br>Content <br>fun [isIgnored](is-ignored.md)(path: [Path](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [toString](-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>

View File

@@ -1,14 +0,0 @@
---
title: isIgnored -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[PathFilters](index.md)/[isIgnored](is-ignored.md)
# isIgnored
[jvm]
Content
fun [isIgnored](is-ignored.md)(path: [Path](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html)): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)

View File

@@ -1,14 +0,0 @@
---
title: SimpleNotification -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[SimpleNotification](index.md)/[SimpleNotification](-simple-notification.md)
# SimpleNotification
[jvm]
Content
fun [SimpleNotification](-simple-notification.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), level: [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md))

View File

@@ -1,14 +0,0 @@
---
title: component1 -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[SimpleNotification](index.md)/[component1](component1.md)
# component1
[jvm]
Content
operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,14 +0,0 @@
---
title: component2 -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[SimpleNotification](index.md)/[component2](component2.md)
# component2
[jvm]
Content
operator fun [component2](component2.md)(): [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md)

View File

@@ -1,14 +0,0 @@
---
title: copy -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[SimpleNotification](index.md)/[copy](copy.md)
# copy
[jvm]
Content
fun [copy](copy.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), level: [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md)): [SimpleNotification](index.md)

View File

@@ -1,31 +0,0 @@
---
title: SimpleNotification -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[SimpleNotification](index.md)
# SimpleNotification
[jvm] data class [SimpleNotification](index.md)(**message**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **level**: [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md)) : [Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)
## Functions
| Name| Summary|
|---|---|
| [component1](component1.md)| [jvm] <br>Content <br>operator fun [component1](component1.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [component2](component2.md)| [jvm] <br>Content <br>operator fun [component2](component2.md)(): [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md) <br><br><br>
| [copy](copy.md)| [jvm] <br>Content <br>fun [copy](copy.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), level: [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md)): [SimpleNotification](index.md) <br><br><br>
| [equals](index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [toString](to-string.md)| [jvm] <br>Content <br>open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [isError](index.md#io.gitlab.arturbosch.detekt.api.internal/SimpleNotification/isError/#/PointingToDeclaration/)| [jvm] open override val [isError](index.md#io.gitlab.arturbosch.detekt.api.internal/SimpleNotification/isError/#/PointingToDeclaration/): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br>
| [level](index.md#io.gitlab.arturbosch.detekt.api.internal/SimpleNotification/level/#/PointingToDeclaration/)| [jvm] open override val [level](index.md#io.gitlab.arturbosch.detekt.api.internal/SimpleNotification/level/#/PointingToDeclaration/): [Notification.Level](../../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md) <br>
| [message](index.md#io.gitlab.arturbosch.detekt.api.internal/SimpleNotification/message/#/PointingToDeclaration/)| [jvm] open override val [message](index.md#io.gitlab.arturbosch.detekt.api.internal/SimpleNotification/message/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br>

View File

@@ -1,14 +0,0 @@
---
title: toString -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[SimpleNotification](index.md)/[toString](to-string.md)
# toString
[jvm]
Content
open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,28 +0,0 @@
---
title: ValidatableConfiguration -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[ValidatableConfiguration](index.md)
# ValidatableConfiguration
[jvm] interface [ValidatableConfiguration](index.md)
## Functions
| Name| Summary|
|---|---|
| [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../-yaml-config/-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../-yaml-config/-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../-yaml-config/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [validate](validate.md)| [jvm] <br>Content <br>abstract fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)> <br><br><br>
## Inheritors
| Name|
|---|
| [CompositeConfig](../-composite-config/index.md)
| [YamlConfig](../-yaml-config/index.md)

View File

@@ -1,14 +0,0 @@
---
title: validate -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[ValidatableConfiguration](index.md)/[validate](validate.md)
# validate
[jvm]
Content
abstract fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)>

View File

@@ -1,21 +0,0 @@
---
title: Companion -
---
//[detekt-api](../../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../../index.md)/[YamlConfig](../index.md)/[Companion](index.md)
# Companion
[jvm] object [Companion](index.md)
## Functions
| Name| Summary|
|---|---|
| [equals](index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [load](load.md)| [jvm] <br>Brief description <br><br><br><br><br>Constructs a [YamlConfig](../index.md) from any [Reader](https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html).<br><br><br><br>Note the reader will be consumed and closed.<br><br><br><br> <br>Content <br>fun [load](load.md)(reader: [Reader](https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html)): [Config](../../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>[jvm] <br>Brief description <br><br><br>Factory method to load a yaml configuration. Given path must exist and point to a readable file.<br><br> <br>Content <br>fun [load](load.md)(path: [Path](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html)): [Config](../../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>
| [loadResource](load-resource.md)| [jvm] <br>Brief description <br><br><br>Factory method to load a yaml configuration from a URL.<br><br> <br>Content <br>fun [loadResource](load-resource.md)(url: [URL](https://docs.oracle.com/javase/8/docs/api/java/net/URL.html)): [Config](../../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>
| [toString](index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>

View File

@@ -1,20 +0,0 @@
---
title: loadResource -
---
//[detekt-api](../../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../../index.md)/[YamlConfig](../index.md)/[Companion](index.md)/[loadResource](load-resource.md)
# loadResource
[jvm]
Brief description
Factory method to load a yaml configuration from a URL.
Content
fun [loadResource](load-resource.md)(url: [URL](https://docs.oracle.com/javase/8/docs/api/java/net/URL.html)): [Config](../../../io.gitlab.arturbosch.detekt.api/-config/index.md)

View File

@@ -1,39 +0,0 @@
---
title: load -
---
//[detekt-api](../../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../../index.md)/[YamlConfig](../index.md)/[Companion](index.md)/[load](load.md)
# load
[jvm]
Brief description
Factory method to load a yaml configuration. Given path must exist and point to a readable file.
Content
fun [load](load.md)(path: [Path](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html)): [Config](../../../io.gitlab.arturbosch.detekt.api/-config/index.md)
[jvm]
Brief description
Constructs a [YamlConfig](../index.md) from any [Reader](https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html).
Note the reader will be consumed and closed.
Content
fun [load](load.md)(reader: [Reader](https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html)): [Config](../../../io.gitlab.arturbosch.detekt.api/-config/index.md)

View File

@@ -1,43 +0,0 @@
---
title: YamlConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[YamlConfig](index.md)
# YamlConfig
[jvm]
Config implementation using the yaml format. SubConfigurations can return sub maps according to the yaml specification.
class [YamlConfig](index.md) : [BaseConfig](../-base-config/index.md), [ValidatableConfiguration](../-validatable-configuration/index.md)
## Types
| Name| Summary|
|---|---|
| [Companion](-companion/index.md)| [jvm] <br>Content <br>object [Companion](-companion/index.md) <br><br><br>
## Functions
| Name| Summary|
|---|---|
| [equals](-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](-companion/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](-companion/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [keySequence](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseConfig/keySequence/#kotlin.String/PointingToDeclaration/)| [jvm] <br>Content <br>override fun [keySequence](index.md#io.gitlab.arturbosch.detekt.api.internal/BaseConfig/keySequence/#kotlin.String/PointingToDeclaration/)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [subConfig](sub-config.md)| [jvm] <br>Brief description <br><br><br>Tries to retrieve part of the configuration based on given key.<br><br> <br>Content <br>open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md) <br><br><br>
| [toString](to-string.md)| [jvm] <br>Content <br>open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [validate](validate.md)| [jvm] <br>Content <br>open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)> <br><br><br>
| [valueOrDefault](value-or-default.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.<br><br> <br>Content <br>open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md) <br><br><br>
| [valueOrNull](value-or-null.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.<br><br> <br>Content <br>open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)? <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/YamlConfig/parentPath/#/PointingToDeclaration/)| [jvm] <br><br><br><br>Keeps track of which key was taken to [subConfig](sub-config.md) this configuration. Sub-sequential calls to [subConfig](sub-config.md) are tracked with '>' as a separator.<br><br><br><br>May be null if this is the top most configuration object.<br><br><br><br>open override val [parentPath](index.md#io.gitlab.arturbosch.detekt.api.internal/YamlConfig/parentPath/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br>
| [properties](index.md#io.gitlab.arturbosch.detekt.api.internal/YamlConfig/properties/#/PointingToDeclaration/)| [jvm] val [properties](index.md#io.gitlab.arturbosch.detekt.api.internal/YamlConfig/properties/#/PointingToDeclaration/): [Map](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> <br>

View File

@@ -1,20 +0,0 @@
---
title: subConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[YamlConfig](index.md)/[subConfig](sub-config.md)
# subConfig
[jvm]
Brief description
Tries to retrieve part of the configuration based on given key.
Content
open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md)

View File

@@ -1,14 +0,0 @@
---
title: toString -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[YamlConfig](index.md)/[toString](to-string.md)
# toString
[jvm]
Content
open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,14 +0,0 @@
---
title: validate -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[YamlConfig](index.md)/[validate](validate.md)
# validate
[jvm]
Content
open override fun [validate](validate.md)(baseline: [Config](../../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../../io.gitlab.arturbosch.detekt.api/-notification/index.md)>

View File

@@ -1,20 +0,0 @@
---
title: valueOrDefault -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[YamlConfig](index.md)/[valueOrDefault](value-or-default.md)
# valueOrDefault
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.
Content
open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md)

View File

@@ -1,20 +0,0 @@
---
title: valueOrNull -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api.internal](../index.md)/[YamlConfig](index.md)/[valueOrNull](value-or-null.md)
# valueOrNull
[jvm]
Brief description
Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.
Content
open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)?

View File

@@ -1,14 +0,0 @@
---
title: createPathFilters -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[createPathFilters](create-path-filters.md)
# createPathFilters
[jvm]
Content
fun [Config](../io.gitlab.arturbosch.detekt.api/-config/index.md).[createPathFilters](create-path-filters.md)(): [PathFilters](-path-filters/index.md)?

View File

@@ -1,34 +0,0 @@
---
title: io.gitlab.arturbosch.detekt.api.internal -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)
# Package io.gitlab.arturbosch.detekt.api.internal
## Types
| Name| Summary|
|---|---|
| [BaseRule](-base-rule/index.md)| [jvm] <br>Brief description <br><br><br><br><br>Defines the visiting mechanism for KtFile's.<br><br><br><br>Custom rule implementations should actually use [Rule](../io.gitlab.arturbosch.detekt.api/-rule/index.md) as base class.<br><br><br><br>The extraction of this class from [Rule](../io.gitlab.arturbosch.detekt.api/-rule/index.md) actually resulted from the need of running many different checks on the same KtFile but within a single potential costly visiting process, see [MultiRule](../io.gitlab.arturbosch.detekt.api/-multi-rule/index.md).<br><br><br><br>This base rule class abstracts over single and multi rules and allows the detekt core engine to only care about a single type.<br><br><br><br> <br>Content <br>abstract class [BaseRule](-base-rule/index.md)(**context**: [Context](../io.gitlab.arturbosch.detekt.api/-context/index.md)) : [DetektVisitor](../io.gitlab.arturbosch.detekt.api/-detekt-visitor/index.md), [Context](../io.gitlab.arturbosch.detekt.api/-context/index.md) <br><br><br>
| [CommaSeparatedPattern](-comma-separated-pattern/index.md)| [jvm] <br>Content <br>class [CommaSeparatedPattern](-comma-separated-pattern/index.md)(**text**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **delimiters**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [SplitPattern](../io.gitlab.arturbosch.detekt.api/-split-pattern/index.md) <br><br><br>
| [CompilerResources](-compiler-resources/index.md)| [jvm] <br>Brief description <br><br><br>Provides compiler resources.<br><br> <br>Content <br>data class [CompilerResources](-compiler-resources/index.md)(**languageVersionSettings**: LanguageVersionSettings, **dataFlowValueFactory**: DataFlowValueFactory) <br><br><br>
| [DefaultRuleSetProvider](-default-rule-set-provider/index.md)| [jvm] <br>Brief description <br><br><br><br><br>Interface which marks sub-classes as provided by detekt via the rules sub-module.<br><br><br><br>Allows to implement "--disable-default-rulesets" effectively without the need to manage a list of rule set names.<br><br><br><br> <br>Content <br>interface [DefaultRuleSetProvider](-default-rule-set-provider/index.md) : [RuleSetProvider](../io.gitlab.arturbosch.detekt.api/-rule-set-provider/index.md) <br><br><br>
| [PathFilters](-path-filters/index.md)| [jvm] <br>Content <br>class [PathFilters](-path-filters/index.md) <br><br><br>
| [SimpleNotification](-simple-notification/index.md)| [jvm] <br>Content <br>data class [SimpleNotification](-simple-notification/index.md)(**message**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **level**: [Notification.Level](../io.gitlab.arturbosch.detekt.api/-notification/-level/index.md)) : [Notification](../io.gitlab.arturbosch.detekt.api/-notification/index.md) <br><br><br>
## Functions
| Name| Summary|
|---|---|
| [createPathFilters](create-path-filters.md)| [jvm] <br>Content <br>fun [Config](../io.gitlab.arturbosch.detekt.api/-config/index.md).[createPathFilters](create-path-filters.md)(): [PathFilters](-path-filters/index.md)? <br><br><br>
| [isSuppressedBy](is-suppressed-by.md)| [jvm] <br>Brief description <br><br><br>Checks if this kt element is suppressed by @Suppress or @SuppressWarnings annotations.<br><br> <br>Content <br>fun KtAnnotated.[isSuppressedBy](is-suppressed-by.md)(id: [RuleId](../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleId///PointingToDeclaration/), aliases: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, ruleSetId: [RuleSetId](../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleSetId///PointingToDeclaration/)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>[jvm] <br>Brief description <br><br><br>Checks if this psi element is suppressed by @Suppress or @SuppressWarnings annotations. If this element cannot have annotations, the first annotative parent is searched.<br><br> <br>Content <br>fun KtElement.[isSuppressedBy](is-suppressed-by.md)(id: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), aliases: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, ruleSetId: [RuleSetId](../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleSetId///PointingToDeclaration/)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [pathMatcher](path-matcher.md)| [jvm] <br>Brief description <br><br><br>Converts given pattern into a [PathMatcher](https://docs.oracle.com/javase/8/docs/api/java/nio/file/PathMatcher.html) specified by [FileSystem.getPathMatcher](https://docs.oracle.com/javase/8/docs/api/java/nio/file/FileSystem.html#getPathMatcher-kotlin.String-). We only support the "glob:" syntax to stay os independently. Internally a globbing pattern is transformed to a regex respecting the Windows file system.<br><br> <br>Content <br>fun [pathMatcher](path-matcher.md)(pattern: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [PathMatcher](https://docs.oracle.com/javase/8/docs/api/java/nio/file/PathMatcher.html) <br><br><br>
| [valueOrDefaultCommaSeparated](value-or-default-comma-separated.md)| [jvm] <br>Content <br>fun [Config](../io.gitlab.arturbosch.detekt.api/-config/index.md).[valueOrDefaultCommaSeparated](value-or-default-comma-separated.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> <br><br><br>
| [whichDetekt](which-detekt.md)| [jvm] <br>Brief description <br><br><br>Returns the bundled detekt version.<br><br> <br>Content <br>fun [whichDetekt](which-detekt.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br><br><br>
| [whichJava](which-java.md)| [jvm] <br>Brief description <br><br><br>Returns the version of the running JVM.<br><br> <br>Content <br>fun [whichJava](which-java.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [whichOS](which-o-s.md)| [jvm] <br>Brief description <br><br><br>Returns the name of the running OS.<br><br> <br>Content <br>fun [whichOS](which-o-s.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>

View File

@@ -1,31 +0,0 @@
---
title: isSuppressedBy -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[isSuppressedBy](is-suppressed-by.md)
# isSuppressedBy
[jvm]
Brief description
Checks if this psi element is suppressed by @Suppress or @SuppressWarnings annotations. If this element cannot have annotations, the first annotative parent is searched.
Content
fun KtElement.[isSuppressedBy](is-suppressed-by.md)(id: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), aliases: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, ruleSetId: [RuleSetId](../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleSetId///PointingToDeclaration/)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
[jvm]
Brief description
Checks if this kt element is suppressed by @Suppress or @SuppressWarnings annotations.
Content
fun KtAnnotated.[isSuppressedBy](is-suppressed-by.md)(id: [RuleId](../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleId///PointingToDeclaration/), aliases: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>, ruleSetId: [RuleSetId](../io.gitlab.arturbosch.detekt.api/index.md#io.gitlab.arturbosch.detekt.api/RuleSetId///PointingToDeclaration/)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)

View File

@@ -1,14 +0,0 @@
---
title: nestedConfigurationExpected -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[nestedConfigurationExpected](nested-configuration-expected.md)
# nestedConfigurationExpected
[jvm]
Content
fun [nestedConfigurationExpected](nested-configuration-expected.md)(prop: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Notification](../io.gitlab.arturbosch.detekt.api/-notification/index.md)

View File

@@ -1,20 +0,0 @@
---
title: pathMatcher -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[pathMatcher](path-matcher.md)
# pathMatcher
[jvm]
Brief description
Converts given pattern into a [PathMatcher](https://docs.oracle.com/javase/8/docs/api/java/nio/file/PathMatcher.html) specified by [FileSystem.getPathMatcher](https://docs.oracle.com/javase/8/docs/api/java/nio/file/FileSystem.html#getPathMatcher-kotlin.String-). We only support the "glob:" syntax to stay os independently. Internally a globbing pattern is transformed to a regex respecting the Windows file system.
Content
fun [pathMatcher](path-matcher.md)(pattern: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [PathMatcher](https://docs.oracle.com/javase/8/docs/api/java/nio/file/PathMatcher.html)

View File

@@ -1,14 +0,0 @@
---
title: propertyDoesNotExists -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[propertyDoesNotExists](property-does-not-exists.md)
# propertyDoesNotExists
[jvm]
Content
fun [propertyDoesNotExists](property-does-not-exists.md)(prop: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Notification](../io.gitlab.arturbosch.detekt.api/-notification/index.md)

View File

@@ -1,14 +0,0 @@
---
title: propertyIsDeprecated -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[propertyIsDeprecated](property-is-deprecated.md)
# propertyIsDeprecated
[jvm]
Content
fun [propertyIsDeprecated](property-is-deprecated.md)(prop: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), deprecationDescription: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), reportAsError: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)): [Notification](../io.gitlab.arturbosch.detekt.api/-notification/index.md)

View File

@@ -1,14 +0,0 @@
---
title: unexpectedNestedConfiguration -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[unexpectedNestedConfiguration](unexpected-nested-configuration.md)
# unexpectedNestedConfiguration
[jvm]
Content
fun [unexpectedNestedConfiguration](unexpected-nested-configuration.md)(prop: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Notification](../io.gitlab.arturbosch.detekt.api/-notification/index.md)

View File

@@ -1,14 +0,0 @@
---
title: validateConfig -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[validateConfig](validate-config.md)
# validateConfig
[jvm]
Content
fun [validateConfig](validate-config.md)(config: [Config](../io.gitlab.arturbosch.detekt.api/-config/index.md), baseline: [Config](../io.gitlab.arturbosch.detekt.api/-config/index.md), excludePatterns: [Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Regex](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Notification](../io.gitlab.arturbosch.detekt.api/-notification/index.md)>

View File

@@ -1,14 +0,0 @@
---
title: valueOrDefaultCommaSeparated -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[valueOrDefaultCommaSeparated](value-or-default-comma-separated.md)
# valueOrDefaultCommaSeparated
[jvm]
Content
fun [Config](../io.gitlab.arturbosch.detekt.api/-config/index.md).[valueOrDefaultCommaSeparated](value-or-default-comma-separated.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>

View File

@@ -1,20 +0,0 @@
---
title: whichDetekt -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[whichDetekt](which-detekt.md)
# whichDetekt
[jvm]
Brief description
Returns the bundled detekt version.
Content
fun [whichDetekt](which-detekt.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?

View File

@@ -1,20 +0,0 @@
---
title: whichJava -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[whichJava](which-java.md)
# whichJava
[jvm]
Brief description
Returns the version of the running JVM.
Content
fun [whichJava](which-java.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,20 +0,0 @@
---
title: whichOS -
---
//[detekt-api](../index.md)/[io.gitlab.arturbosch.detekt.api.internal](index.md)/[whichOS](which-o-s.md)
# whichOS
[jvm]
Brief description
Returns the name of the running OS.
Content
fun [whichOS](which-o-s.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,15 +0,0 @@
---
title: AnnotationExcluder -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[AnnotationExcluder](index.md)/[AnnotationExcluder](-annotation-excluder.md)
# AnnotationExcluder
[jvm]
Content
fun [AnnotationExcluder](-annotation-excluder.md)(root: KtFile, excludes: [SplitPattern](../-split-pattern/index.md))
fun [AnnotationExcluder](-annotation-excluder.md)(root: KtFile, excludes: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>)

View File

@@ -1,32 +0,0 @@
---
title: AnnotationExcluder -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[AnnotationExcluder](index.md)
# AnnotationExcluder
[jvm]
Primary use case for an AnnotationExcluder is to decide if a KtElement should be excluded from further analysis. This is done by checking if a special annotation is present over the element.
class [AnnotationExcluder](index.md)(**root**: KtFile, **excludes**: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>)
## Constructors
| Name| Summary|
|---|---|
| [AnnotationExcluder](-annotation-excluder.md)| [jvm] fun [AnnotationExcluder](-annotation-excluder.md)(root: KtFile, excludes: [SplitPattern](../-split-pattern/index.md)) <br>
| [AnnotationExcluder](-annotation-excluder.md)| [jvm] fun [AnnotationExcluder](-annotation-excluder.md)(root: KtFile, excludes: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>) <br>
## Functions
| Name| Summary|
|---|---|
| [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [shouldExclude](should-exclude.md)| [jvm] <br>Brief description <br><br><br>Is true if any given annotation name is declared in the SplitPattern which basically describes entries to exclude.<br><br> <br>Content <br>fun [shouldExclude](should-exclude.md)(annotations: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<KtAnnotationEntry>): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [toString](../../io.gitlab.arturbosch.detekt.api.internal/-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../../io.gitlab.arturbosch.detekt.api.internal/-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>

View File

@@ -1,20 +0,0 @@
---
title: shouldExclude -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[AnnotationExcluder](index.md)/[shouldExclude](should-exclude.md)
# shouldExclude
[jvm]
Brief description
Is true if any given annotation name is declared in the SplitPattern which basically describes entries to exclude.
Content
fun [shouldExclude](should-exclude.md)(annotations: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<KtAnnotationEntry>): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)

View File

@@ -1,14 +0,0 @@
---
title: CodeSmell -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[CodeSmell](index.md)/[CodeSmell](-code-smell.md)
# CodeSmell
[jvm]
Content
fun [CodeSmell](-code-smell.md)(issue: [Issue](../-issue/index.md), entity: [Entity](../-entity/index.md), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), metrics: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Metric](../-metric/index.md)>, references: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Entity](../-entity/index.md)>)

View File

@@ -1,20 +0,0 @@
---
title: compactWithSignature -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[CodeSmell](index.md)/[compactWithSignature](compact-with-signature.md)
# compactWithSignature
[jvm]
Brief description
Same as [compact](compact.md) except the content should contain a substring which represents this exact findings via a custom identifier.
Content
open override fun [compactWithSignature](compact-with-signature.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,20 +0,0 @@
---
title: compact -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[CodeSmell](index.md)/[compact](compact.md)
# compact
[jvm]
Brief description
Contract to format implementing object to a string representation.
Content
open override fun [compact](compact.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,71 +0,0 @@
---
title: CodeSmell -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[CodeSmell](index.md)
# CodeSmell
[jvm]
A code smell indicates any possible design problem inside a program's source code. The type of a code smell is described by an [Issue](../-issue/index.md).
If the design problem results from metric violations, a list of [Metric](../-metric/index.md)'s can describe further the kind of metrics.
If the design problem manifests by different source locations, references to these locations can be stored in additional [Entity](../-entity/index.md)'s.
open class [CodeSmell](index.md)(**issue**: [Issue](../-issue/index.md), **entity**: [Entity](../-entity/index.md), **message**: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), **metrics**: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Metric](../-metric/index.md)>, **references**: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Entity](../-entity/index.md)>) : [Finding](../-finding/index.md)
## Constructors
| Name| Summary|
|---|---|
| [CodeSmell](-code-smell.md)| [jvm] fun [CodeSmell](-code-smell.md)(issue: [Issue](../-issue/index.md), entity: [Entity](../-entity/index.md), message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), metrics: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Metric](../-metric/index.md)>, references: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Entity](../-entity/index.md)>) <br>
## Functions
| Name| Summary|
|---|---|
| [compact](compact.md)| [jvm] <br>Brief description <br><br><br>Contract to format implementing object to a string representation.<br><br> <br>Content <br>open override fun [compact](compact.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [compactWithSignature](compact-with-signature.md)| [jvm] <br>Brief description <br><br><br>Same as [compact](compact.md) except the content should contain a substring which represents this exact findings via a custom identifier.<br><br> <br>Content <br>open override fun [compactWithSignature](compact-with-signature.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [messageOrDescription](message-or-description.md)| [jvm] <br>Brief description <br><br><br>Explanation why this finding was raised.<br><br> <br>Content <br>open override fun [messageOrDescription](message-or-description.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [metricByType](../-has-metrics/metric-by-type.md)| [jvm] <br>Brief description <br><br><br>Finds the first metric matching given type.<br><br> <br>Content <br>open override fun [metricByType](../-has-metrics/metric-by-type.md)(type: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Metric](../-metric/index.md)? <br><br><br>
| [toString](to-string.md)| [jvm] <br>Content <br>open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [charPosition](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/charPosition/#/PointingToDeclaration/)| [jvm] open override val [charPosition](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/charPosition/#/PointingToDeclaration/): [TextLocation](../-text-location/index.md) <br>
| [entity](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/entity/#/PointingToDeclaration/)| [jvm] open override val [entity](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/entity/#/PointingToDeclaration/): [Entity](../-entity/index.md) <br>
| [file](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/file/#/PointingToDeclaration/)| [jvm] open override val [file](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/file/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br>
| [id](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/id/#/PointingToDeclaration/)| [jvm] open override val [id](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/id/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br>
| [issue](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/issue/#/PointingToDeclaration/)| [jvm] override val [issue](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/issue/#/PointingToDeclaration/): [Issue](../-issue/index.md) <br>
| [location](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/location/#/PointingToDeclaration/)| [jvm] open override val [location](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/location/#/PointingToDeclaration/): [Location](../-location/index.md) <br>
| [message](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/message/#/PointingToDeclaration/)| [jvm] open override val [message](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/message/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br>
| [metrics](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/metrics/#/PointingToDeclaration/)| [jvm] open override val [metrics](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/metrics/#/PointingToDeclaration/): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Metric](../-metric/index.md)> <br>
| [references](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/references/#/PointingToDeclaration/)| [jvm] open override val [references](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/references/#/PointingToDeclaration/): [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Entity](../-entity/index.md)> <br>
| [signature](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/signature/#/PointingToDeclaration/)| [jvm] open override val [signature](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/signature/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br>
| [startPosition](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/startPosition/#/PointingToDeclaration/)| [jvm] open override val [startPosition](index.md#io.gitlab.arturbosch.detekt.api/CodeSmell/startPosition/#/PointingToDeclaration/): [SourceLocation](../-source-location/index.md) <br>
## Inheritors
| Name|
|---|
| [CorrectableCodeSmell](../-correctable-code-smell/index.md)
| [ThresholdedCodeSmell](../-thresholded-code-smell/index.md)

View File

@@ -1,20 +0,0 @@
---
title: messageOrDescription -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[CodeSmell](index.md)/[messageOrDescription](message-or-description.md)
# messageOrDescription
[jvm]
Brief description
Explanation why this finding was raised.
Content
open override fun [messageOrDescription](message-or-description.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,14 +0,0 @@
---
title: toString -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[CodeSmell](index.md)/[toString](to-string.md)
# toString
[jvm]
Content
open override fun [toString](to-string.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,20 +0,0 @@
---
title: compactWithSignature -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[Compactable](index.md)/[compactWithSignature](compact-with-signature.md)
# compactWithSignature
[jvm]
Brief description
Same as [compact](compact.md) except the content should contain a substring which represents this exact findings via a custom identifier.
Content
open fun [compactWithSignature](compact-with-signature.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,20 +0,0 @@
---
title: compact -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[Compactable](index.md)/[compact](compact.md)
# compact
[jvm]
Brief description
Contract to format implementing object to a string representation.
Content
abstract fun [compact](compact.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

View File

@@ -1,34 +0,0 @@
---
title: Compactable -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[Compactable](index.md)
# Compactable
[jvm]
Provides a compact string representation.
interface [Compactable](index.md)
## Functions
| Name| Summary|
|---|---|
| [compact](compact.md)| [jvm] <br>Brief description <br><br><br>Contract to format implementing object to a string representation.<br><br> <br>Content <br>abstract fun [compact](compact.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [compactWithSignature](compact-with-signature.md)| [jvm] <br>Brief description <br><br><br>Same as [compact](compact.md) except the content should contain a substring which represents this exact findings via a custom identifier.<br><br> <br>Content <br>open fun [compactWithSignature](compact-with-signature.md)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [toString](../../io.gitlab.arturbosch.detekt.api.internal/-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../../io.gitlab.arturbosch.detekt.api.internal/-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
## Inheritors
| Name|
|---|
| [Entity](../-entity/index.md)
| [Finding](../-finding/index.md)
| [Location](../-location/index.md)

View File

@@ -1,57 +0,0 @@
---
title: ConfigAware -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[ConfigAware](index.md)
# ConfigAware
[jvm]
Interface which is implemented by each Rule class to provide utility functions to retrieve specific or generic properties from the underlying detekt configuration file.
Be aware that there are three config levels by default:
<ul><li>the top level config layer specifies rule sets and detekt engine properties</li><li>the rule set level specifies properties concerning the whole rule set and rules</li><li>the rule level provides additional properties which are used to configure rules</li></ul>
This interface operates on the rule set level as the rule set config is passed to each rule in the #RuleSetProvider interface. This is due the fact that users create the rule set and all rules upfront and letting them 'sub config' the rule set config would be error-prone.
interface [ConfigAware](index.md) : [Config](../-config/index.md)
## Functions
| Name| Summary|
|---|---|
| [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)| [jvm] <br>Content <br>open operator override fun [equals](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/equals/#kotlin.Any?/PointingToDeclaration/)(other: [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br><br><br>
| [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [hashCode](../../io.gitlab.arturbosch.detekt.api.internal/-simple-notification/index.md#kotlin/Any/hashCode/#/PointingToDeclaration/)(): [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) <br><br><br>
| [subConfig](sub-config.md)| [jvm] <br>Brief description <br><br><br>Tries to retrieve part of the configuration based on given key.<br><br> <br>Content <br>open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../-config/index.md) <br><br><br>
| [toString](../../io.gitlab.arturbosch.detekt.api.internal/-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)| [jvm] <br>Content <br>open override fun [toString](../../io.gitlab.arturbosch.detekt.api.internal/-path-filters/-companion/index.md#kotlin/Any/toString/#/PointingToDeclaration/)(): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) <br><br><br>
| [valueOrDefault](value-or-default.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If configuration property cannot be found the specified default value is returned.<br><br> <br>Content <br>open override fun <[T](value-or-default.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrDefault](value-or-default.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), default: [T](value-or-default.md)): [T](value-or-default.md) <br><br><br>
| [valueOrNull](value-or-null.md)| [jvm] <br>Brief description <br><br><br>Retrieves a sub configuration or value based on given key. If the configuration property cannot be found, null is returned.<br><br> <br>Content <br>open override fun <[T](value-or-null.md) : [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)> [valueOrNull](value-or-null.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [T](value-or-null.md)? <br><br><br>
| [withAutoCorrect](with-auto-correct.md)| [jvm] <br>Brief description <br><br><br>If your rule supports to automatically correct the misbehaviour of underlying smell, specify your code inside this method call, to allow the user of your rule to trigger auto correction only when needed.<br><br> <br>Content <br>open fun [withAutoCorrect](with-auto-correct.md)(block: () -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)) <br><br><br>
## Properties
| Name| Summary|
|---|---|
| [active](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/active/#/PointingToDeclaration/)| [jvm] <br><br>Is this rule specified as active in configuration? If an rule is not specified in the underlying configuration, we assume it should not be run.<br><br>open val [active](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/active/#/PointingToDeclaration/): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br>
| [autoCorrect](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/autoCorrect/#/PointingToDeclaration/)| [jvm] <br><br>Does this rule have auto correct specified in configuration? For auto correction to work the rule set itself enable it.<br><br>open val [autoCorrect](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/autoCorrect/#/PointingToDeclaration/): [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) <br>
| [parentPath](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/parentPath/#/PointingToDeclaration/)| [jvm] <br><br><br><br>Keeps track of which key was taken to [subConfig](sub-config.md) this configuration. Sub-sequential calls to [subConfig](sub-config.md) are tracked with '>' as a separator.<br><br><br><br>May be null if this is the top most configuration object.<br><br><br><br>open override val [parentPath](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/parentPath/#/PointingToDeclaration/): [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? <br>
| [ruleId](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/ruleId/#/PointingToDeclaration/)| [jvm] <br><br>Id which is used to retrieve the sub config for the rule implementing this interface.<br><br>abstract val [ruleId](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/ruleId/#/PointingToDeclaration/): [RuleId](../index.md#io.gitlab.arturbosch.detekt.api/RuleId///PointingToDeclaration/) <br>
| [ruleSetConfig](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/ruleSetConfig/#/PointingToDeclaration/)| [jvm] <br><br>Wrapped configuration of the ruleSet this rule is in. Use #valueOrDefault function to retrieve properties specified for the rule implementing this interface instead. Only use this property directly if you need a specific rule set property.<br><br>abstract val [ruleSetConfig](index.md#io.gitlab.arturbosch.detekt.api/ConfigAware/ruleSetConfig/#/PointingToDeclaration/): [Config](../-config/index.md) <br>
## Inheritors
| Name|
|---|
| [Rule](../-rule/index.md)

View File

@@ -1,20 +0,0 @@
---
title: subConfig -
---
//[detekt-api](../../index.md)/[io.gitlab.arturbosch.detekt.api](../index.md)/[ConfigAware](index.md)/[subConfig](sub-config.md)
# subConfig
[jvm]
Brief description
Tries to retrieve part of the configuration based on given key.
Content
open override fun [subConfig](sub-config.md)(key: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)): [Config](../-config/index.md)

Some files were not shown because too many files have changed in this diff Show More