1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-10-04 15:42:46 +02:00
IntelliJ-IdeaVim/qodana.sarif.json
2024-02-23 15:38:33 +02:00

110555 lines
5.6 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"$schema": "https://raw.githubusercontent.com/schemastore/schemastore/master/src/schemas/json/sarif-2.1.0-rtm.5.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "QDJVM",
"fullName": "Qodana for JVM",
"version": "233.14714.239",
"rules": [],
"taxa": [
{
"id": "Language injection",
"name": "Language injection"
},
{
"id": "JVM languages",
"name": "JVM languages"
},
{
"id": "Kotlin",
"name": "Kotlin"
},
{
"id": "Kotlin/Style issues",
"name": "Style issues",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/Redundant constructs",
"name": "Redundant constructs",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java",
"name": "Java"
},
{
"id": "Java/Internationalization",
"name": "Internationalization",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring",
"name": "Spring"
},
{
"id": "Spring/Spring Core",
"name": "Spring Core",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring Core/XML",
"name": "XML",
"relationships": [
{
"target": {
"id": "Spring/Spring Core",
"index": 8,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Performance",
"name": "Performance",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Code style issues",
"name": "Code style issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Declaration redundancy",
"name": "Declaration redundancy",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring Core/Code",
"name": "Code",
"relationships": [
{
"target": {
"id": "Spring/Spring Core",
"index": 8,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Error handling",
"name": "Error handling",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/Migration",
"name": "Migration",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring Cloud",
"name": "Spring Cloud",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript",
"name": "JavaScript and TypeScript"
},
{
"id": "JavaScript and TypeScript/Unit testing",
"name": "Unit testing",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Serialization issues",
"name": "Serialization issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Class structure",
"name": "Class structure",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy",
"name": "Groovy"
},
{
"id": "Groovy/GPath",
"name": "GPath",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Imports",
"name": "Imports",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Maven",
"name": "Maven"
},
{
"id": "JSON and JSON5",
"name": "JSON and JSON5"
},
{
"id": "MySQL",
"name": "MySQL"
},
{
"id": "Kotlin/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Threading issues",
"name": "Threading issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Control flow issues",
"name": "Control flow issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Numeric issues",
"name": "Numeric issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JPA",
"name": "JPA"
},
{
"id": "Java/Initialization",
"name": "Initialization",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Sass_SCSS",
"name": "Sass/SCSS"
},
{
"id": "HTML",
"name": "HTML"
},
{
"id": "JavaScript and TypeScript/Unused symbols",
"name": "Unused symbols",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Flow type checker",
"name": "Flow type checker",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Security",
"name": "Security",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Properties files",
"name": "Properties files"
},
{
"id": "PostCSS",
"name": "PostCSS"
},
{
"id": "JavaScript and TypeScript/Bitwise operation issues",
"name": "Bitwise operation issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Naming conventions",
"name": "Naming conventions",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/General",
"name": "General",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Packaging issues",
"name": "Packaging issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Reactive Streams",
"name": "Reactive Streams"
},
{
"id": "Reactive Streams/Common",
"name": "Common",
"relationships": [
{
"target": {
"id": "Reactive Streams",
"index": 45,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Verbose or redundant code constructs",
"name": "Verbose or redundant code constructs",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "General",
"name": "General"
},
{
"id": "Gradle",
"name": "Gradle"
},
{
"id": "Gradle/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "Gradle",
"index": 49,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "FreeMarker",
"name": "FreeMarker"
},
{
"id": "JVM languages/Logging",
"name": "Logging",
"relationships": [
{
"target": {
"id": "JVM languages",
"index": 1,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "EditorConfig",
"name": "EditorConfig"
},
{
"id": "JavaScript and TypeScript/Validity issues",
"name": "Validity issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Gradle/Validity issues",
"name": "Validity issues",
"relationships": [
{
"target": {
"id": "Gradle",
"index": 49,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Code maturity",
"name": "Code maturity",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Potentially confusing code constructs",
"name": "Potentially confusing code constructs",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "SQL",
"name": "SQL"
},
{
"id": "Spring/Spring Data",
"name": "Spring Data",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/Other problems",
"name": "Other problems",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Try statement issues",
"name": "Try statement issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Plugin DevKit",
"name": "Plugin DevKit"
},
{
"id": "Plugin DevKit/Workspace model",
"name": "Workspace model",
"relationships": [
{
"target": {
"id": "Plugin DevKit",
"index": 63,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Data flow",
"name": "Data flow",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Ktor",
"name": "Ktor"
},
{
"id": "CDI (Contexts and Dependency Injection)",
"name": "CDI (Contexts and Dependency Injection)"
},
{
"id": "Velocity",
"name": "Velocity"
},
{
"id": "Plugin DevKit/Code",
"name": "Code",
"relationships": [
{
"target": {
"id": "Plugin DevKit",
"index": 63,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids",
"name": "Java language level migration aids",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 20",
"name": "Java 20",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/Naming conventions",
"name": "Naming conventions",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "CSS",
"name": "CSS"
},
{
"id": "CSS/Invalid elements",
"name": "Invalid elements",
"relationships": [
{
"target": {
"id": "CSS",
"index": 73,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Potentially undesirable code constructs",
"name": "Potentially undesirable code constructs",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Finalization",
"name": "Finalization",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Logging",
"name": "Logging",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Modularization issues",
"name": "Modularization issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Javadoc",
"name": "Javadoc",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/Java interop issues",
"name": "Java interop issues",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Naming conventions",
"name": "Naming conventions",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Naming conventions/Class",
"name": "Class",
"relationships": [
{
"target": {
"id": "Java/Naming conventions",
"index": 81,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Hibernate",
"name": "Hibernate"
},
{
"id": "Spring/Spring Integration",
"name": "Spring Integration",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Plugin DevKit/Plugin descriptor",
"name": "Plugin descriptor",
"relationships": [
{
"target": {
"id": "Plugin DevKit",
"index": 63,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Abstraction issues",
"name": "Abstraction issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Assignment issues",
"name": "Assignment issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 9",
"name": "Java 9",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Threading issues",
"name": "Threading issues",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Control flow issues",
"name": "Control flow issues",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/JUnit",
"name": "JUnit",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "XSLT",
"name": "XSLT"
},
{
"id": "Groovy/Style",
"name": "Style",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java EE",
"name": "Java EE"
},
{
"id": "Java/Portability",
"name": "Portability",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/TestNG",
"name": "TestNG",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Assignment issues",
"name": "Assignment issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JSP",
"name": "JSP"
},
{
"id": "Java/Visibility",
"name": "Visibility",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "RegExp",
"name": "RegExp"
},
{
"id": "Java/Concurrency annotation issues",
"name": "Concurrency annotation issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "CSS/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "CSS",
"index": 73,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/TypeScript",
"name": "TypeScript",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Lombok",
"name": "Lombok",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Lombok/Redundant modifiers",
"name": "Redundant modifiers",
"relationships": [
{
"target": {
"id": "Java/Lombok",
"index": 104,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "UI form",
"name": "UI form"
},
{
"id": "JavaScript and TypeScript/ES2015 migration aids",
"name": "ES2015 migration aids",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Naming conventions/Method",
"name": "Method",
"relationships": [
{
"target": {
"id": "Java/Naming conventions",
"index": 81,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/DOM issues",
"name": "DOM issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Code Coverage",
"name": "Code Coverage"
},
{
"id": "Groovy/Annotations",
"name": "Annotations",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Proofreading",
"name": "Proofreading"
},
{
"id": "XML",
"name": "XML"
},
{
"id": "Java/Cloning issues",
"name": "Cloning issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Manifest",
"name": "Manifest"
},
{
"id": "Groovy/Potentially confusing code constructs",
"name": "Potentially confusing code constructs",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Error handling",
"name": "Error handling",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 5",
"name": "Java 5",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 8",
"name": "Java 8",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JVM languages/Test frameworks",
"name": "Test frameworks",
"relationships": [
{
"target": {
"id": "JVM languages",
"index": 1,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Assignment issues",
"name": "Assignment issues",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Class metrics",
"name": "Class metrics",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "RESTful Web Service (JAX-RS)",
"name": "RESTful Web Service (JAX-RS)"
},
{
"id": "Java/Encapsulation",
"name": "Encapsulation",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Control flow issues",
"name": "Control flow issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Test frameworks",
"name": "Test frameworks",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Reflective access",
"name": "Reflective access",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 15",
"name": "Java 15",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Code quality tools",
"name": "Code quality tools",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring AOP",
"name": "Spring AOP",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Method metrics",
"name": "Method metrics",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Resource management",
"name": "Resource management",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Switch statement issues",
"name": "Switch statement issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 14",
"name": "Java 14",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Numeric issues/Cast",
"name": "Cast",
"relationships": [
{
"target": {
"id": "Java/Numeric issues",
"index": 31,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Plugin DevKit/Description file",
"name": "Description file",
"relationships": [
{
"target": {
"id": "Plugin DevKit",
"index": 63,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/JavaBeans issues",
"name": "JavaBeans issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Pattern validation",
"name": "Pattern validation"
},
{
"id": "JavaScript and TypeScript/Function metrics",
"name": "Function metrics",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Code style issues",
"name": "Code style issues",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Dependency issues",
"name": "Dependency issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level issues",
"name": "Java language level issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "HTML/Accessibility",
"name": "Accessibility",
"relationships": [
{
"target": {
"id": "HTML",
"index": 35,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Method metrics",
"name": "Method metrics",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "XPath",
"name": "XPath"
},
{
"id": "Java/Inheritance issues",
"name": "Inheritance issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Security",
"name": "Security"
},
{
"id": "JavaScript and TypeScript/Security",
"name": "Security",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "AOP",
"name": "AOP"
},
{
"id": "Bean Validation",
"name": "Bean Validation"
},
{
"id": "Reactive Streams/Reactor",
"name": "Reactor",
"relationships": [
{
"target": {
"id": "Reactive Streams",
"index": 45,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Oracle",
"name": "Oracle"
},
{
"id": "Kotlin/Migration/Maven",
"name": "Maven",
"relationships": [
{
"target": {
"id": "Kotlin/Migration",
"index": 16,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Internationalization",
"name": "Internationalization"
},
{
"id": "Vue",
"name": "Vue"
},
{
"id": "Java/Java language level migration aids/Java 10",
"name": "Java 10",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 7",
"name": "Java 7",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Compiler issues",
"name": "Compiler issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Version control",
"name": "Version control"
},
{
"id": "MongoJS",
"name": "MongoJS"
},
{
"id": "Kotlin/Migration/Gradle",
"name": "Gradle",
"relationships": [
{
"target": {
"id": "Kotlin/Migration",
"index": 16,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Memory",
"name": "Memory",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Structural search",
"name": "Structural search"
},
{
"id": "Spring/Spring Security",
"name": "Spring Security",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "YAML",
"name": "YAML"
},
{
"id": "Java/Performance/Embedded",
"name": "Embedded",
"relationships": [
{
"target": {
"id": "Java/Performance",
"index": 10,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Imports and dependencies",
"name": "Imports and dependencies",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Probable bugs/Nullability problems",
"name": "Nullability problems",
"relationships": [
{
"target": {
"id": "Java/Probable bugs",
"index": 15,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring Boot",
"name": "Spring Boot",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "RELAX NG",
"name": "RELAX NG"
},
{
"id": "Java/Properties files",
"name": "Properties files",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring Cloud Stream",
"name": "Spring Cloud Stream",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 11",
"name": "Java 11",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "PostgreSQL",
"name": "PostgreSQL"
},
{
"id": "SQL server",
"name": "SQL server"
},
{
"id": "Groovy/Data flow",
"name": "Data flow",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Async code and promises",
"name": "Async code and promises",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Naming conventions",
"name": "Naming conventions",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Qodana",
"name": "Qodana"
},
{
"id": "Dependency analysis",
"name": "Dependency analysis"
},
{
"id": "EL",
"name": "EL"
},
{
"id": "Java/Java language level migration aids/Java 16",
"name": "Java 16",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Shell script",
"name": "Shell script"
},
{
"id": "JavaScript and TypeScript/Data flow",
"name": "Data flow",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/React",
"name": "React",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Lombok/Redundant definitions",
"name": "Redundant definitions",
"relationships": [
{
"target": {
"id": "Java/Lombok",
"index": 104,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Spring/Spring MVC",
"name": "Spring MVC",
"relationships": [
{
"target": {
"id": "Spring",
"index": 7,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "CSS/Code style issues",
"name": "Code style issues",
"relationships": [
{
"target": {
"id": "CSS",
"index": 73,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 19",
"name": "Java 19",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Less",
"name": "Less"
},
{
"id": "Groovy/Other",
"name": "Other",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Reactive Streams/Mutiny",
"name": "Mutiny",
"relationships": [
{
"target": {
"id": "Reactive Streams",
"index": 45,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Bitwise operation issues",
"name": "Bitwise operation issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Validity issues",
"name": "Validity issues",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/Java language level migration aids/Java 21",
"name": "Java 21",
"relationships": [
{
"target": {
"id": "Java/Java language level migration aids",
"index": 70,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/Logging",
"name": "Logging",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "JavaScript and TypeScript/Node.js",
"name": "Node.js",
"relationships": [
{
"target": {
"id": "JavaScript and TypeScript",
"index": 18,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Java/toString() issues",
"name": "toString() issues",
"relationships": [
{
"target": {
"id": "Java",
"index": 5,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "CSS/Code quality tools",
"name": "Code quality tools",
"relationships": [
{
"target": {
"id": "CSS",
"index": 73,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/React",
"name": "React",
"relationships": [
{
"target": {
"id": "Kotlin",
"index": 2,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Kotlin/React/Probable bugs",
"name": "Probable bugs",
"relationships": [
{
"target": {
"id": "Kotlin/React",
"index": 201,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Gradle/Best practises",
"name": "Best practises",
"relationships": [
{
"target": {
"id": "Gradle",
"index": 49,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "Groovy/Declaration redundancy",
"name": "Declaration redundancy",
"relationships": [
{
"target": {
"id": "Groovy",
"index": 22,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
}
],
"language": "en-US",
"contents": [
"localizedData",
"nonLocalizedData"
],
"isComprehensive": false
},
"extensions": [
{
"name": "org.intellij.intelliLang",
"version": "233.14714",
"rules": [
{
"id": "InjectionNotApplicable",
"shortDescription": {
"text": "Injection Annotation not applicable"
},
"fullDescription": {
"text": "Reports when a '@Language' annotation is applied to an element with a type other than 'String' or 'String[]'. Example: '@Language(\"HTML\") int i;' After the quick-fix is applied: 'int i;'",
"markdown": "Reports when a `@Language` annotation is applied to an element with a type other than `String` or `String[]`.\n\n**Example:**\n\n\n @Language(\"HTML\") int i;\n\nAfter the quick-fix is applied:\n\n\n int i;\n"
},
"defaultConfiguration": {
"enabled": true,
"level": "error",
"parameters": {
"suppressToolId": "InjectionNotApplicable",
"ideaSeverity": "ERROR",
"qodanaSeverity": "Critical"
}
},
"relationships": [
{
"target": {
"id": "Language injection",
"index": 0,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "PatternOverriddenByNonAnnotatedMethod",
"shortDescription": {
"text": "Non-annotated Method overrides @Pattern Method"
},
"fullDescription": {
"text": "Reports when a method without any '@Pattern' annotation overrides a '@Pattern' annotated method. This does not prevent error-highlighting inside the editor, however the overriding method will not be checked at runtime. A quick fix is provided to add a '@Pattern' annotation that matches the one from the superclass method. This ensures the runtime-check instrumentation works correctly. Example: 'abstract class Parent {\n abstract @Pattern(\"\\\\d\\\\d-\\\\d\\\\d\\\\d\") String getId();\n }\n class Child extends Parent {\n @Override String getId() { // warning here\n return \"12-345\";\n }\n }'",
"markdown": "Reports when a method without any `@Pattern` annotation overrides a `@Pattern` annotated method. This does not prevent error-highlighting inside the editor, however the overriding method will not be checked at runtime.\n\n\nA quick fix is provided to add a `@Pattern` annotation that matches the one from the superclass method. This ensures the\nruntime-check instrumentation works correctly.\n\n**Example:**\n\n\n abstract class Parent {\n abstract @Pattern(\"\\\\d\\\\d-\\\\d\\\\d\\\\d\") String getId();\n }\n class Child extends Parent {\n @Override String getId() { // warning here\n return \"12-345\";\n }\n }\n"
},
"defaultConfiguration": {
"enabled": true,
"level": "warning",
"parameters": {
"suppressToolId": "PatternOverriddenByNonAnnotatedMethod",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "Pattern validation",
"index": 139,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "InjectedReferences",
"shortDescription": {
"text": "Injected references"
},
"fullDescription": {
"text": "Reports unresolved references injected by Language Injections. Example: '@Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist'",
"markdown": "Reports unresolved references injected by [Language Injections](https://www.jetbrains.com/help/idea/using-language-injections.html).\n\nExample:\n\n\n @Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist\n"
},
"defaultConfiguration": {
"enabled": true,
"level": "error",
"parameters": {
"suppressToolId": "InjectedReferences",
"ideaSeverity": "ERROR",
"qodanaSeverity": "Critical"
}
},
"relationships": [
{
"target": {
"id": "General",
"index": 48,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "PatternNotApplicable",
"shortDescription": {
"text": "Pattern Annotation not applicable"
},
"fullDescription": {
"text": "Reports when a '@Pattern' annotation is applied to an element with a type other than 'String'. Example: '@Pattern(\"\\\\d\\\\d\") int i;'",
"markdown": "Reports when a `@Pattern` annotation is applied to an element with a type other than `String`.\n\n**Example:**\n\n\n @Pattern(\"\\\\d\\\\d\") int i;\n"
},
"defaultConfiguration": {
"enabled": true,
"level": "error",
"parameters": {
"suppressToolId": "PatternNotApplicable",
"ideaSeverity": "ERROR",
"qodanaSeverity": "Critical"
}
},
"relationships": [
{
"target": {
"id": "Pattern validation",
"index": 139,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "UnknownLanguage",
"shortDescription": {
"text": "Unknown Language ID"
},
"fullDescription": {
"text": "Reports when the ID of the language used in a '@Language' annotation is unknown. Example: '@Language(\"HMTL\") String html;'",
"markdown": "Reports when the ID of the language used in a `@Language` annotation is unknown.\n\n**Example:**\n\n\n @Language(\"HMTL\") String html;\n"
},
"defaultConfiguration": {
"enabled": true,
"level": "error",
"parameters": {
"suppressToolId": "UnknownLanguage",
"ideaSeverity": "ERROR",
"qodanaSeverity": "Critical"
}
},
"relationships": [
{
"target": {
"id": "Language injection",
"index": 0,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "PatternValidation",
"shortDescription": {
"text": "Validate annotated patterns"
},
"fullDescription": {
"text": "Reports expressions passed as arguments for '@Pattern' parameters and returned from '@Pattern'-annotated methods that do not match the specified pattern. Example: '@Pattern(\"\\\\d\\\\d-\\\\d\\\\d\\\\d\") String getId() {\n return \"1\";\n }' Use the Flag non compile-time constant expressions option to let the inspection report expressions with an unknown value and offer to add a substitution ('@Subst') annotation.",
"markdown": "Reports expressions passed as arguments for `@Pattern` parameters and returned from `@Pattern`-annotated methods that do not match the specified pattern.\n\n**Example:**\n\n\n @Pattern(\"\\\\d\\\\d-\\\\d\\\\d\\\\d\") String getId() {\n return \"1\";\n }\n\n\nUse the **Flag non compile-time constant expressions** option to let the inspection report expressions with\nan unknown value and offer to add a substitution (`@Subst`) annotation."
},
"defaultConfiguration": {
"enabled": true,
"level": "warning",
"parameters": {
"suppressToolId": "PatternValidation",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "Pattern validation",
"index": 139,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "LanguageMismatch",
"shortDescription": {
"text": "Language mismatch"
},
"fullDescription": {
"text": "Reports when the language of a reference does not match the expected language of the usage context. Example: '@Language(\"JavaScript\")\n String JS_CODE = \"var x;\";\n\n @Language(\"XPath\")\n String XPATH_CODE = JS_CODE; // warning here'",
"markdown": "Reports when the language of a reference does not match the expected language of the usage context.\n\nExample:\n\n\n @Language(\"JavaScript\")\n String JS_CODE = \"var x;\";\n\n @Language(\"XPath\")\n String XPATH_CODE = JS_CODE; // warning here\n"
},
"defaultConfiguration": {
"enabled": true,
"level": "warning",
"parameters": {
"suppressToolId": "LanguageMismatch",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "Language injection",
"index": 0,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
}
],
"language": "en-US",
"contents": [
"localizedData",
"nonLocalizedData"
],
"isComprehensive": false
},
{
"name": "com.intellij.java",
"version": "233.14714",
"rules": [
{
"id": "OverrideOnly",
"shortDescription": {
"text": "Method can only be overridden"
},
"fullDescription": {
"text": "Reports calls to API methods marked with '@ApiStatus.OverrideOnly'. The '@ApiStatus.OverrideOnly' annotation indicates that the method is part of SPI (Service Provider Interface). Clients of the declaring library should implement or override such methods, not call them directly. Marking a class or interface with this annotation is the same as marking every method with it.",
"markdown": "Reports calls to API methods marked with `@ApiStatus.OverrideOnly`.\n\n\nThe `@ApiStatus.OverrideOnly` annotation indicates that the method is part of SPI (Service Provider Interface).\nClients of the declaring library should implement or override such methods, not call them directly.\nMarking a class or interface with this annotation is the same as marking every method with it."
},
"defaultConfiguration": {
"enabled": true,
"level": "warning",
"parameters": {
"suppressToolId": "OverrideOnly",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "JVM languages",
"index": 1,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "CallToSuspiciousStringMethod",
"shortDescription": {
"text": "Call to suspicious 'String' method"
},
"fullDescription": {
"text": "Reports calls of: 'equals()' 'equalsIgnoreCase()' 'compareTo()' 'compareToIgnoreCase()' and 'trim()' on 'String' objects. Comparison of internationalized strings should probably use a 'java.text.Collator' instead. 'String.trim()' only removes control characters between 0x00 and 0x20. The 'String.strip()' method introduced in Java 11 is more Unicode aware and can be used as a replacement.",
"markdown": "Reports calls of:\n\n* `equals()`\n* `equalsIgnoreCase()`\n* `compareTo()`\n* `compareToIgnoreCase()` and\n* `trim()`\n\n\non `String` objects.\nComparison of internationalized strings should probably use a `java.text.Collator` instead.\n`String.trim()` only removes control characters between 0x00 and 0x20.\nThe `String.strip()` method introduced in Java 11 is more Unicode aware and can be used as a replacement."
},
"defaultConfiguration": {
"enabled": false,
"level": "warning",
"parameters": {
"suppressToolId": "CallToSuspiciousStringMethod",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "Java/Internationalization",
"index": 6,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "KeySetIterationMayUseEntrySet",
"shortDescription": {
"text": "Iteration over 'keySet()' can be optimized"
},
"fullDescription": {
"text": "Reports iterations over the 'keySet()' of a 'java.util.Map' instance, where the iterated keys are used to retrieve the values from the map. Such iteration may be more efficient when replaced with an iteration over the 'entrySet()' or 'values()' (if the key is not actually used). Similarly, 'keySet().forEach(key -> ...)' can be replaced with 'forEach((key, value) -> ...)' if values are retrieved inside a lambda. Example: 'for (Object key : map.keySet()) {\n Object val = map.get(key);\n }' After the quick-fix is applied: 'for (Object val : map.values()) {}'",
"markdown": "Reports iterations over the `keySet()` of a `java.util.Map` instance, where the iterated keys are used to retrieve the values from the map.\n\n\nSuch iteration may be more efficient when replaced with an iteration over the\n`entrySet()` or `values()` (if the key is not actually used).\n\n\nSimilarly, `keySet().forEach(key -> ...)`\ncan be replaced with `forEach((key, value) -> ...)` if values are retrieved\ninside a lambda.\n\n**Example:**\n\n\n for (Object key : map.keySet()) {\n Object val = map.get(key);\n }\n\nAfter the quick-fix is applied:\n\n\n for (Object val : map.values()) {}\n"
},
"defaultConfiguration": {
"enabled": false,
"level": "warning",
"parameters": {
"suppressToolId": "KeySetIterationMayUseEntrySet",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "Java/Performance",
"index": 10,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "UnnecessaryQualifierForThis",
"shortDescription": {
"text": "Unnecessary qualifier for 'this' or 'super'"
},
"fullDescription": {
"text": "Reports unnecessary qualification of 'this' or 'super'. Using a qualifier on 'this' or 'super' to disambiguate a code reference may easily become unnecessary via automatic refactorings and should be deleted for clarity. Example: 'class Foo {\n void foo() {}\n }\n\n class Bar extends Foo {\n void bar() {\n Bar.super.foo();\n }\n }' After the quick-fix is applied: 'class Foo {\n void foo() {}\n }\n\n class Bar extends Foo {\n void bar() {\n super.foo();\n }\n }'",
"markdown": "Reports unnecessary qualification of `this` or `super`.\n\n\nUsing a qualifier on `this` or `super` to\ndisambiguate a code reference may easily become unnecessary via automatic refactorings and should be deleted for clarity.\n\n**Example:**\n\n\n class Foo {\n void foo() {}\n }\n\n class Bar extends Foo {\n void bar() {\n Bar.super.foo();\n }\n }\n\nAfter the quick-fix is applied:\n\n\n class Foo {\n void foo() {}\n }\n\n class Bar extends Foo {\n void bar() {\n super.foo();\n }\n }\n"
},
"defaultConfiguration": {
"enabled": false,
"level": "warning",
"parameters": {
"suppressToolId": "UnnecessaryQualifierForThis",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [
{
"target": {
"id": "Java/Code style issues",
"index": 11,
"toolComponent": {
"name": "QDJVM"
}
},
"kinds": [
"superset"
]
}
]
},
{
"id": "UnusedReturnValue",
"shortDescription": {
"text": "Method can be made 'void'"
},
"fullDescription": {
"text": "Reports methods whose return values are never used when called. The return type of such methods can be made 'void'. Methods annotated with Error Prone's or AssertJ's '@CanIgnoreReturnValue' annotation will not be reported. The quick-fix updates the method signature and removes 'return' statements from inside the method. Example: '// reported if visibility setting is Protected or Public\n protected String myToUpperCase(String s) {\n return s.toUpperCase();\n }\n\n // simple setter, reporting depends on setting\n public String setStr(String str) {\n myStr = str;\n return myStr;\n }\n\n void test() {\n setStr(\"value\"); // return value is unused\n myToUpperCase(\"result\"); // return value is unused\n }' After the quick-fix is applied to both methods: 'protected void myToUpperCase(String s) {\n // 'return' removed completely\n // as 's.toUpperCase()' has no side effect\n }\n\n public void setStr(String str) {\n myStr = str;\n // 'return' removed\n }\n ...' NOTE: Some methods might not be reported during in-editor highlighting due to performance reasons. To see all results, run the inspection using Code | Inspect Code or Code | Analyze Code | Run Inspection by Name> Use the Ignore chainable methods option to ignore unused return values from chainable calls. Use the Maximal reported method visibility option to control the maximum visibility of methods to be reported.",
"markdown": "Reports methods whose return values are never used when called. The return type of such methods can be made `void`.\n\nMethods annotated with Error Prone's or AssertJ's `@CanIgnoreReturnValue` annotation will not be reported.\nThe quick-fix updates the method signature and removes `return` statements from inside the method.\n\n**Example:**\n\n\n // reported if visibility setting is Protected or Public\n protected String myToUpperCase(String s) {\n return s.toUpperCase();\n }\n\n // simple setter, reporting depends on setting\n public String setStr(String str) {\n myStr = str;\n return myStr;\n }\n\n void test() {\n setStr(\"value\"); // return value is unused\n myToUpperCase(\"result\"); // return value is unused\n }\n\nAfter the quick-fix is applied to both methods:\n\n\n protected void myToUpperCase(String s) {\n // 'return' removed completely\n // as 's.toUpperCase()' has no side effect\n }\n\n public void setStr(String str) {\n myStr = str;\n // 'return' removed\n }\n ...\n\n\n**NOTE:** Some methods might not be reported during in-editor highlighting due to performance reasons.\nTo see all results, run the inspection using **Code \\| Inspect Code** or **Code \\| Analyze Code \\| Run Inspection by Name**\\>\n\nUse the **Ignore chainable methods** option to ignore unused return values from chainable calls.\n\nUse the **Maximal reported method visibility** option to control the maximum visibility of methods to be reported."
},
"defaultConfiguration": {
"enabled": false,
"level": "warning",
"parameters": {
"suppressToolId": "UnusedReturnValue",
"ideaSeverity": "WARNING",
"qodanaSeverity": "High"
}
},
"relationships": [