mirror of
https://github.com/jlengrand/detekt.git
synced 2026-03-10 08:11:23 +00:00
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:
102
.github/workflows/deploy-website.yaml
vendored
Normal file
102
.github/workflows/deploy-website.yaml
vendored
Normal 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/
|
||||
4
.github/workflows/pre-merge.yaml
vendored
4
.github/workflows/pre-merge.yaml
vendored
@@ -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
5
.gitignore
vendored
@@ -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/
|
||||
|
||||
@@ -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.")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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.
|
||||
}
|
||||
```
|
||||
@@ -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
|
||||
@@ -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")
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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)
|
||||
```
|
||||
@@ -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
@@ -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) |
|
||||
|
||||
@@ -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)()
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)?)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)>
|
||||
|
||||
|
||||
|
||||
@@ -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)?
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>)
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)>)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user