fix compatibility issue with new idea version

pull/671/head
caikang.ck 5 years ago
parent 3a01b6d98a
commit f6ea93d1b6

@ -16,10 +16,14 @@
package com.alibaba.p3c.idea.component package com.alibaba.p3c.idea.component
import com.alibaba.p3c.idea.compatible.inspection.Inspections import com.alibaba.p3c.idea.compatible.inspection.Inspections
import com.alibaba.p3c.idea.component.CommonSettingsApplicationComponent.Companion
import com.alibaba.p3c.idea.config.P3cConfig import com.alibaba.p3c.idea.config.P3cConfig
import com.alibaba.p3c.idea.i18n.P3cBundle
import com.alibaba.p3c.idea.inspection.AliPmdInspectionInvoker import com.alibaba.p3c.idea.inspection.AliPmdInspectionInvoker
import com.alibaba.p3c.idea.pmd.SourceCodeProcessor import com.alibaba.p3c.idea.pmd.SourceCodeProcessor
import com.alibaba.p3c.pmd.I18nResources
import com.alibaba.smartfox.idea.common.component.AliBaseProjectComponent import com.alibaba.smartfox.idea.common.component.AliBaseProjectComponent
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFileAdapter import com.intellij.openapi.vfs.VirtualFileAdapter
import com.intellij.openapi.vfs.VirtualFileEvent import com.intellij.openapi.vfs.VirtualFileEvent
@ -58,6 +62,12 @@ class AliProjectComponent(
} }
} }
override fun initComponent() {
I18nResources.changeLanguage(p3cConfig.locale)
val analyticsGroup = ActionManager.getInstance().getAction(CommonSettingsApplicationComponent.analyticsGroupId)
analyticsGroup.templatePresentation.text = P3cBundle.getMessage(CommonSettingsApplicationComponent.analyticsGroupText)
}
override fun projectOpened() { override fun projectOpened() {
Inspections.addCustomTag(project, "date") Inspections.addCustomTag(project, "date")
VirtualFileManager.getInstance().addVirtualFileListener(listener) VirtualFileManager.getInstance().addVirtualFileListener(listener)

@ -23,6 +23,7 @@ import com.alibaba.p3c.pmd.I18nResources
import com.alibaba.smartfox.idea.common.component.AliBaseApplicationComponent import com.alibaba.smartfox.idea.common.component.AliBaseApplicationComponent
import com.intellij.codeInsight.daemon.impl.SeverityRegistrar import com.intellij.codeInsight.daemon.impl.SeverityRegistrar
import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.components.ServiceManager
/** /**
* *
@ -30,15 +31,11 @@ import com.intellij.openapi.actionSystem.ActionManager
* @author caikang * @author caikang
* @date 2017/06/19 * @date 2017/06/19
*/ */
class CommonSettingsApplicationComponent(private val p3cConfig: P3cConfig) : AliBaseApplicationComponent { class CommonSettingsApplicationComponent : AliBaseApplicationComponent {
override fun initComponent() { override fun initComponent() {
SeverityRegistrar.registerStandard(HighlightInfoTypes.BLOCKER, HighlightSeverities.BLOCKER) SeverityRegistrar.registerStandard(HighlightInfoTypes.BLOCKER, HighlightSeverities.BLOCKER)
SeverityRegistrar.registerStandard(HighlightInfoTypes.CRITICAL, HighlightSeverities.CRITICAL) SeverityRegistrar.registerStandard(HighlightInfoTypes.CRITICAL, HighlightSeverities.CRITICAL)
SeverityRegistrar.registerStandard(HighlightInfoTypes.MAJOR, HighlightSeverities.MAJOR) SeverityRegistrar.registerStandard(HighlightInfoTypes.MAJOR, HighlightSeverities.MAJOR)
I18nResources.changeLanguage(p3cConfig.locale)
val analyticsGroup = ActionManager.getInstance().getAction(analyticsGroupId)
analyticsGroup.templatePresentation.text = P3cBundle.getMessage(analyticsGroupText)
} }
companion object { companion object {

@ -17,14 +17,14 @@ package com.alibaba.p3c.idea.inspection
import com.alibaba.p3c.idea.i18n.P3cBundle import com.alibaba.p3c.idea.i18n.P3cBundle
import com.intellij.codeHighlighting.HighlightDisplayLevel import com.intellij.codeHighlighting.HighlightDisplayLevel
import com.siyeh.ig.threading.AccessToNonThreadSafeStaticFieldFromInstanceInspectionBase import com.siyeh.ig.threading.AccessToNonThreadSafeStaticFieldFromInstanceInspection
/** /**
* @author caikang * @author caikang
* @date 2016/12/08 * @date 2016/12/08
*/ */
class AliAccessToNonThreadSafeStaticFieldFromInstanceInspection class AliAccessToNonThreadSafeStaticFieldFromInstanceInspection
: AccessToNonThreadSafeStaticFieldFromInstanceInspectionBase, : AccessToNonThreadSafeStaticFieldFromInstanceInspection,
AliBaseInspection { AliBaseInspection {
constructor() constructor()
/** /**

@ -45,6 +45,7 @@ import org.jetbrains.annotations.NonNls
*/ */
class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection { class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
constructor() constructor()
/** /**
* For Javassist * For Javassist
*/ */
@ -86,7 +87,7 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
} }
val type = infos[0] as PsiArrayType val type = infos[0] as PsiArrayType
val componentType = type.componentType val componentType = type.componentType
val fix = ArrayEqualityFix(componentType is PsiArrayType) val fix = ArrayEqualityFix(componentType is PsiArrayType, familyName)
return DecorateInspectionGadgetsFix(fix, fix.name, familyName) return DecorateInspectionGadgetsFix(fix, fix.name, familyName)
} }
@ -112,10 +113,9 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
return true return true
} }
return TypeUtils.expressionHasTypeOrSubtype(expression, CommonClassNames.JAVA_LANG_BOOLEAN) return TypeUtils.expressionHasTypeOrSubtype(expression, CommonClassNames.JAVA_LANG_BOOLEAN)
|| TypeUtils.expressionHasTypeOrSubtype(expression, CommonClassNames.JAVA_LANG_CHARACTER) || TypeUtils.expressionHasTypeOrSubtype(expression, CommonClassNames.JAVA_LANG_CHARACTER)
} }
private fun hasNumberType(expression: PsiExpression): Boolean { private fun hasNumberType(expression: PsiExpression): Boolean {
return TypeUtils.expressionHasTypeOrSubtype(expression, CommonClassNames.JAVA_LANG_NUMBER) return TypeUtils.expressionHasTypeOrSubtype(expression, CommonClassNames.JAVA_LANG_NUMBER)
} }
@ -125,7 +125,8 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
} }
private class ArrayEqualityFix(private val deepEquals: Boolean) : InspectionGadgetsFix() { private class ArrayEqualityFix(private val deepEquals: Boolean, private val familyName: String) :
InspectionGadgetsFix() {
override fun getName(): String { override fun getName(): String {
if (deepEquals) { if (deepEquals) {
@ -144,7 +145,8 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
val element = descriptor.psiElement val element = descriptor.psiElement
val parent = element.parent as? PsiBinaryExpression ?: return val parent = element.parent as? PsiBinaryExpression ?: return
val tokenType = parent.operationTokenType val tokenType = parent.operationTokenType
@NonNls val newExpressionText = StringBuilder() @NonNls
val newExpressionText = StringBuilder()
if (JavaTokenType.NE == tokenType) { if (JavaTokenType.NE == tokenType) {
newExpressionText.append('!') newExpressionText.append('!')
} else if (JavaTokenType.EQEQ != tokenType) { } else if (JavaTokenType.EQEQ != tokenType) {
@ -160,8 +162,10 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
val rhs = parent.rOperand ?: return val rhs = parent.rOperand ?: return
newExpressionText.append(rhs.text) newExpressionText.append(rhs.text)
newExpressionText.append(')') newExpressionText.append(')')
PsiReplacementUtil.replaceExpressionAndShorten(parent, PsiReplacementUtil.replaceExpressionAndShorten(
newExpressionText.toString()) parent,
newExpressionText.toString()
)
} }
} }

@ -253,24 +253,6 @@
</tags> </tags>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- <plugin> <!-- <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId> <artifactId>maven-gpg-plugin</artifactId>

Loading…
Cancel
Save