11package com .fuzhengyin .string_appender ;
22
3- import com .intellij .codeInspection .*;
3+ import com .intellij .codeInspection .LocalQuickFix ;
4+ import com .intellij .codeInspection .ProblemDescriptor ;
5+ import com .intellij .codeInspection .ProblemsHolder ;
46import com .intellij .codeInspection .util .IntentionFamilyName ;
57import com .intellij .openapi .project .Project ;
68import com .intellij .openapi .ui .Messages ;
7- import com .intellij .psi .PsiElement ;
89import com .intellij .psi .PsiElementVisitor ;
910import com .intellij .psi .PsiStatement ;
1011import com .intellij .psi .impl .PsiElementFactoryImpl ;
11- import com .intellij .structuralsearch .impl .matcher .compiler .GlobalCompilingVisitor ;
1212import org .jetbrains .annotations .NotNull ;
13- import org .jetbrains .kotlin .idea .debugger .evaluate .KotlinCodeFragmentFactory ;
14- import org .jetbrains .kotlin .idea .debugger .sequence .trace .dsl .KotlinCollectionsPeekCallFactory ;
15- import org .jetbrains .kotlin .idea .debugger .sequence .trace .dsl .KotlinStatementFactory ;
16- import org .jetbrains .kotlin .idea .debugger .stepping .KotlinStepActionFactory ;
17- import org .jetbrains .kotlin .idea .framework .KotlinTemplatesFactory ;
1813import org .jetbrains .kotlin .idea .inspections .AbstractKotlinInspection ;
19- import org .jetbrains .kotlin .idea .inspections .AbstractKotlinInspectionKt ;
20- import org .jetbrains .kotlin .idea .quickfix .crossLanguage .KotlinElementActionsFactory ;
21- import org .jetbrains .kotlin .idea .structuralsearch .visitor .KotlinCompilingVisitor ;
14+ import org .jetbrains .kotlin .psi .KtAnnotationEntry ;
15+ import org .jetbrains .kotlin .psi .KtCallExpression ;
2216import org .jetbrains .kotlin .psi .KtLiteralStringTemplateEntry ;
2317import org .jetbrains .kotlin .psi .KtVisitorVoid ;
24- import org .jetbrains .kotlin .psi .KtVisitorVoidWithParameter ;
2518
2619import java .io .File ;
2720
@@ -38,6 +31,19 @@ public class ExtractToSpecialDest extends AbstractKotlinInspection {
3831 @ Override
3932 public void visitLiteralStringTemplateEntry (@ NotNull KtLiteralStringTemplateEntry entry ) {
4033 super .visitLiteralStringTemplateEntry (entry );
34+ var temp = entry .getParent ();
35+ while (true ) {
36+ if (temp != null ) {
37+ if (temp instanceof KtAnnotationEntry ) {
38+ return ;
39+ } else if (temp instanceof KtCallExpression ) {
40+ break ;
41+ }
42+ } else {
43+ break ;
44+ }
45+ temp = temp .getParent ();
46+ }
4147 holder .registerProblem (entry , "Please don't hardcode string!" , new LocalQuickFix () {
4248 @ Override
4349 public @ IntentionFamilyName @ NotNull String getFamilyName () {
0 commit comments