提交 f6ea93d1 编写于 作者: C caikang.ck

fix compatibility issue with new idea version

上级 3a01b6d9
......@@ -16,10 +16,14 @@
package com.alibaba.p3c.idea.component
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.i18n.P3cBundle
import com.alibaba.p3c.idea.inspection.AliPmdInspectionInvoker
import com.alibaba.p3c.idea.pmd.SourceCodeProcessor
import com.alibaba.p3c.pmd.I18nResources
import com.alibaba.smartfox.idea.common.component.AliBaseProjectComponent
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFileAdapter
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() {
Inspections.addCustomTag(project, "date")
VirtualFileManager.getInstance().addVirtualFileListener(listener)
......
......@@ -23,6 +23,7 @@ import com.alibaba.p3c.pmd.I18nResources
import com.alibaba.smartfox.idea.common.component.AliBaseApplicationComponent
import com.intellij.codeInsight.daemon.impl.SeverityRegistrar
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.components.ServiceManager
/**
*
......@@ -30,15 +31,11 @@ import com.intellij.openapi.actionSystem.ActionManager
* @author caikang
* @date 2017/06/19
*/
class CommonSettingsApplicationComponent(private val p3cConfig: P3cConfig) : AliBaseApplicationComponent {
class CommonSettingsApplicationComponent : AliBaseApplicationComponent {
override fun initComponent() {
SeverityRegistrar.registerStandard(HighlightInfoTypes.BLOCKER, HighlightSeverities.BLOCKER)
SeverityRegistrar.registerStandard(HighlightInfoTypes.CRITICAL, HighlightSeverities.CRITICAL)
SeverityRegistrar.registerStandard(HighlightInfoTypes.MAJOR, HighlightSeverities.MAJOR)
I18nResources.changeLanguage(p3cConfig.locale)
val analyticsGroup = ActionManager.getInstance().getAction(analyticsGroupId)
analyticsGroup.templatePresentation.text = P3cBundle.getMessage(analyticsGroupText)
}
companion object {
......
......@@ -17,14 +17,14 @@ package com.alibaba.p3c.idea.inspection
import com.alibaba.p3c.idea.i18n.P3cBundle
import com.intellij.codeHighlighting.HighlightDisplayLevel
import com.siyeh.ig.threading.AccessToNonThreadSafeStaticFieldFromInstanceInspectionBase
import com.siyeh.ig.threading.AccessToNonThreadSafeStaticFieldFromInstanceInspection
/**
* @author caikang
* @date 2016/12/08
*/
class AliAccessToNonThreadSafeStaticFieldFromInstanceInspection
: AccessToNonThreadSafeStaticFieldFromInstanceInspectionBase,
: AccessToNonThreadSafeStaticFieldFromInstanceInspection,
AliBaseInspection {
constructor()
/**
......
......@@ -45,6 +45,7 @@ import org.jetbrains.annotations.NonNls
*/
class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
constructor()
/**
* For Javassist
*/
......@@ -86,7 +87,7 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
}
val type = infos[0] as PsiArrayType
val componentType = type.componentType
val fix = ArrayEqualityFix(componentType is PsiArrayType)
val fix = ArrayEqualityFix(componentType is PsiArrayType, familyName)
return DecorateInspectionGadgetsFix(fix, fix.name, familyName)
}
......@@ -112,10 +113,9 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
return true
}
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 {
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 {
if (deepEquals) {
......@@ -144,7 +145,8 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
val element = descriptor.psiElement
val parent = element.parent as? PsiBinaryExpression ?: return
val tokenType = parent.operationTokenType
@NonNls val newExpressionText = StringBuilder()
@NonNls
val newExpressionText = StringBuilder()
if (JavaTokenType.NE == tokenType) {
newExpressionText.append('!')
} else if (JavaTokenType.EQEQ != tokenType) {
......@@ -160,8 +162,10 @@ class AliWrapperTypeEqualityInspection : BaseInspection, AliBaseInspection {
val rhs = parent.rOperand ?: return
newExpressionText.append(rhs.text)
newExpressionText.append(')')
PsiReplacementUtil.replaceExpressionAndShorten(parent,
newExpressionText.toString())
PsiReplacementUtil.replaceExpressionAndShorten(
parent,
newExpressionText.toString()
)
}
}
......
......@@ -253,24 +253,6 @@
</tags>
</configuration>
</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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册