mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +07:00
[Java. Logging] Simplify logic of JvmLoggerCompletionContributor
IDEA-359199 GitOrigin-RevId: 946fcfa18dedd03905e6f8a638ae0a86c3515b75
This commit is contained in:
committed by
intellij-monorepo-bot
parent
23585b1e10
commit
507ae5bd17
@@ -5,36 +5,21 @@ import com.intellij.lang.logging.JvmLogger
|
||||
import com.intellij.openapi.module.ModuleUtil
|
||||
import com.intellij.patterns.PlatformPatterns.psiElement
|
||||
import com.intellij.patterns.StandardPatterns
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.PsiReferenceExpression
|
||||
import com.intellij.util.ProcessingContext
|
||||
import com.siyeh.ig.psiutils.ExpressionUtils
|
||||
|
||||
class JvmLoggerCompletionContributor : CompletionContributor() {
|
||||
init {
|
||||
extend(CompletionType.BASIC,
|
||||
StandardPatterns.or(
|
||||
psiElement()
|
||||
.withSuperParent(2, PsiExpressionStatement::class.java)
|
||||
.afterLeaf(StandardPatterns.or(
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.SEMICOLON),
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.COLON),
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.LBRACE),
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.RBRACE),
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.ARROW),
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.RPARENTH).and(
|
||||
StandardPatterns.or(
|
||||
psiElement().withParent(PsiIfStatement::class.java),
|
||||
psiElement().withParent(PsiForStatement::class.java),
|
||||
psiElement().withParent(PsiForeachStatement::class.java),
|
||||
psiElement().withParent(PsiWhileStatement::class.java)
|
||||
)
|
||||
)
|
||||
)),
|
||||
psiElement().withSuperParent(2, PsiLambdaExpression::class.java).afterLeaf(
|
||||
psiElement(PsiJavaToken::class.java).withElementType(JavaTokenType.ARROW)
|
||||
)
|
||||
),
|
||||
psiElement().withParent(PsiReferenceExpression::class.java)),
|
||||
object : CompletionProvider<CompletionParameters>() {
|
||||
override fun addCompletions(parameters: CompletionParameters, context: ProcessingContext, result: CompletionResultSet) {
|
||||
val parent = parameters.position.parent ?: return
|
||||
if (parent !is PsiReferenceExpression ||
|
||||
!ExpressionUtils.isVoidContext(parent) ||
|
||||
JavaKeywordCompletion.isInstanceofPlace(parameters.position)) return
|
||||
val javaResultWithSorting = JavaCompletionSorting.addJavaSorting(parameters, result)
|
||||
val module = ModuleUtil.findModuleForFile(parameters.originalFile) ?: return
|
||||
val availableLoggers = JvmLogger.findSuitableLoggers(module, true)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class A {
|
||||
private static final Logger log = LoggerFactory.getLogger(A.class);
|
||||
|
||||
void foo() {
|
||||
Consumer<String> s = (param) -> log<caret>
|
||||
Consumer<String> s = (String param) -> log<caret>
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ public class A {
|
||||
|
||||
public static void main(String[] args) {
|
||||
String x = "";
|
||||
String s = switch(x) {
|
||||
switch(x) {
|
||||
case "name" -> log<caret>
|
||||
default -> "String";
|
||||
};
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class A {
|
||||
void foo() {
|
||||
Consumer<String> s = (param) -> lo<caret>
|
||||
Consumer<String> s = (String param) -> lo<caret>
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
public class A {
|
||||
public static void main(String[] args) {
|
||||
String x = "";
|
||||
String s = switch(x) {
|
||||
switch(x) {
|
||||
case "name" -> lo<caret>
|
||||
default -> "String";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user