mirror of
https://github.com/alibaba/p3c.git
synced 2025-10-15 07:32:36 +00:00
fix compatibility issue with new idea version
This commit is contained in:
@@ -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>
|
||||||
|
Reference in New Issue
Block a user