diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTryExpression.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTryExpression.java index 8d82d7d4b5d..dc08c4b91ee 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTryExpression.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTryExpression.java @@ -17,9 +17,11 @@ package org.jetbrains.kotlin.psi; import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.KtNodeTypes; +import org.jetbrains.kotlin.lexer.KtTokens; import java.util.List; @@ -48,4 +50,8 @@ public class KtTryExpression extends KtExpressionImpl { return (KtFinallySection) findChildByType(KtNodeTypes.FINALLY); } + @Nullable + public PsiElement getTryKeyword() { + return findChildByType(KtTokens.TRY_KEYWORD); + } } diff --git a/idea/resources/inspectionDescriptions/ConvertTryFinallyToUseCall.html b/idea/resources/inspectionDescriptions/ConvertTryFinallyToUseCall.html new file mode 100644 index 00000000000..ccce7ce9af1 --- /dev/null +++ b/idea/resources/inspectionDescriptions/ConvertTryFinallyToUseCall.html @@ -0,0 +1,5 @@ + +
+This inspection reports a try-finally block with resource.close() in finally which can be converted into the resource.use() call + + \ No newline at end of file diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 6e9f7959332..c2cf48a6e7d 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -1957,6 +1957,14 @@ language="kotlin" /> +