Cleanup in idea plugin modules, idea-core
This commit is contained in:
@@ -378,7 +378,7 @@ class ExpectedInfos(
|
|||||||
= getArgumentExpression()?.let { bindingContext.getType(it) }?.isError ?: true
|
= getArgumentExpression()?.let { bindingContext.getType(it) }?.isError ?: true
|
||||||
|
|
||||||
private fun namedArgumentTail(argumentToParameter: Map<ValueArgument, ValueParameterDescriptor>, argumentName: Name, descriptor: FunctionDescriptor): Tail? {
|
private fun namedArgumentTail(argumentToParameter: Map<ValueArgument, ValueParameterDescriptor>, argumentName: Name, descriptor: FunctionDescriptor): Tail? {
|
||||||
val usedParameterNames = (argumentToParameter.values().map { it.getName() } + listOf(argumentName)).toSet()
|
val usedParameterNames = (argumentToParameter.values.map { it.getName() } + listOf(argumentName)).toSet()
|
||||||
val notUsedParameters = descriptor.getValueParameters().filter { it.getName() !in usedParameterNames }
|
val notUsedParameters = descriptor.getValueParameters().filter { it.getName() !in usedParameterNames }
|
||||||
return if (notUsedParameters.isEmpty())
|
return if (notUsedParameters.isEmpty())
|
||||||
Tail.RPARENTH // named arguments no supported for []
|
Tail.RPARENTH // named arguments no supported for []
|
||||||
|
|||||||
@@ -304,7 +304,7 @@ public class KotlinIndicesHelper(
|
|||||||
val fqName = descriptor.importableFqName?.asString() ?: return false
|
val fqName = descriptor.importableFqName?.asString() ?: return false
|
||||||
|
|
||||||
return CodeInsightSettings.getInstance().EXCLUDED_PACKAGES
|
return CodeInsightSettings.getInstance().EXCLUDED_PACKAGES
|
||||||
.any { excluded -> fqName == excluded || (fqName.startsWith(excluded) && fqName[excluded.length()] == '.') }
|
.any { excluded -> fqName == excluded || (fqName.startsWith(excluded) && fqName[excluded.length] == '.') }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KtCallableDeclaration.resolveToDescriptorsWithHack(): Collection<CallableDescriptor> {
|
private fun KtCallableDeclaration.resolveToDescriptorsWithHack(): Collection<CallableDescriptor> {
|
||||||
|
|||||||
@@ -244,16 +244,16 @@ public object KotlinNameSuggester {
|
|||||||
for (prefix in ACCESSOR_PREFIXES) {
|
for (prefix in ACCESSOR_PREFIXES) {
|
||||||
if (!s.startsWith(prefix)) continue
|
if (!s.startsWith(prefix)) continue
|
||||||
|
|
||||||
val len = prefix.length()
|
val len = prefix.length
|
||||||
if (len < s.length() && Character.isUpperCase(s.charAt(len))) {
|
if (len < s.length && Character.isUpperCase(s[len])) {
|
||||||
s = s.substring(len)
|
s = s.substring(len)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var upperCaseLetterBefore = false
|
var upperCaseLetterBefore = false
|
||||||
for (i in 0..s.length() - 1) {
|
for (i in 0..s.length - 1) {
|
||||||
val c = s.charAt(i)
|
val c = s[i]
|
||||||
val upperCaseLetter = Character.isUpperCase(c)
|
val upperCaseLetter = Character.isUpperCase(c)
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
@@ -335,7 +335,7 @@ public object KotlinNameSuggester {
|
|||||||
if (name == null || name.isEmpty()) return false
|
if (name == null || name.isEmpty()) return false
|
||||||
|
|
||||||
val lexer = KotlinLexer()
|
val lexer = KotlinLexer()
|
||||||
lexer.start(name, 0, name.length())
|
lexer.start(name, 0, name.length)
|
||||||
if (lexer.getTokenType() !== KtTokens.IDENTIFIER) return false
|
if (lexer.getTokenType() !== KtTokens.IDENTIFIER) return false
|
||||||
lexer.advance()
|
lexer.advance()
|
||||||
return lexer.getTokenType() == null
|
return lexer.getTokenType() == null
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ public fun Call.mapArgumentsToParameters(targetDescriptor: CallableDescriptor):
|
|||||||
positionalArgumentIndex = null
|
positionalArgumentIndex = null
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (positionalArgumentIndex != null && positionalArgumentIndex < parameters.size()) {
|
if (positionalArgumentIndex != null && positionalArgumentIndex < parameters.size) {
|
||||||
val parameter = parameters[positionalArgumentIndex]
|
val parameter = parameters[positionalArgumentIndex]
|
||||||
map[argument] = parameter
|
map[argument] = parameter
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ public fun Call.mapArgumentsToParameters(targetDescriptor: CallableDescriptor):
|
|||||||
|
|
||||||
public fun ImplicitReceiver.asExpression(resolutionScope: LexicalScope, psiFactory: KtPsiFactory): KtExpression? {
|
public fun ImplicitReceiver.asExpression(resolutionScope: LexicalScope, psiFactory: KtPsiFactory): KtExpression? {
|
||||||
val expressionFactory = resolutionScope.getImplicitReceiversWithInstanceToExpression()
|
val expressionFactory = resolutionScope.getImplicitReceiversWithInstanceToExpression()
|
||||||
.entrySet()
|
.entries
|
||||||
.firstOrNull { it.key.getContainingDeclaration() == this.declarationDescriptor }
|
.firstOrNull { it.key.getContainingDeclaration() == this.declarationDescriptor }
|
||||||
?.value ?: return null
|
?.value ?: return null
|
||||||
return expressionFactory.createExpression(psiFactory)
|
return expressionFactory.createExpression(psiFactory)
|
||||||
|
|||||||
+3
-3
@@ -105,7 +105,7 @@ private fun generateProperty(project: Project, descriptor: PropertyDescriptor, b
|
|||||||
descriptor.kind, /* copyOverrides = */ true) as PropertyDescriptor
|
descriptor.kind, /* copyOverrides = */ true) as PropertyDescriptor
|
||||||
newDescriptor.addOverriddenDescriptor(descriptor)
|
newDescriptor.addOverriddenDescriptor(descriptor)
|
||||||
|
|
||||||
val body = StringBuilder {
|
val body = buildString {
|
||||||
append("\nget()")
|
append("\nget()")
|
||||||
append(" = ")
|
append(" = ")
|
||||||
append(generateUnsupportedOrSuperCall(descriptor, bodyType))
|
append(generateUnsupportedOrSuperCall(descriptor, bodyType))
|
||||||
@@ -143,7 +143,7 @@ public fun generateUnsupportedOrSuperCall(descriptor: CallableMemberDescriptor,
|
|||||||
return "throw UnsupportedOperationException()"
|
return "throw UnsupportedOperationException()"
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return StringBuilder {
|
return buildString {
|
||||||
append("super")
|
append("super")
|
||||||
if (bodyType == OverrideMemberChooserObject.BodyType.QUALIFIED_SUPER) {
|
if (bodyType == OverrideMemberChooserObject.BodyType.QUALIFIED_SUPER) {
|
||||||
val superClassFqName = IdeDescriptorRenderers.SOURCE_CODE.renderClassifierName(descriptor.containingDeclaration as ClassifierDescriptor)
|
val superClassFqName = IdeDescriptorRenderers.SOURCE_CODE.renderClassifierName(descriptor.containingDeclaration as ClassifierDescriptor)
|
||||||
@@ -158,7 +158,7 @@ public fun generateUnsupportedOrSuperCall(descriptor: CallableMemberDescriptor,
|
|||||||
}
|
}
|
||||||
paramTexts.joinTo(this, prefix="(", postfix=")")
|
paramTexts.joinTo(this, prefix="(", postfix=")")
|
||||||
}
|
}
|
||||||
}.toString()
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -46,7 +46,7 @@ public class OverrideMembersHandler : OverrideImplementMembersHandler() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val realSupers = byOriginalRealSupers.values().map { it.realSuper }
|
val realSupers = byOriginalRealSupers.values.map { it.realSuper }
|
||||||
val nonAbstractRealSupers = realSupers.filter { it.modality != Modality.ABSTRACT }
|
val nonAbstractRealSupers = realSupers.filter { it.modality != Modality.ABSTRACT }
|
||||||
val realSupersToUse = if (nonAbstractRealSupers.isNotEmpty()) {
|
val realSupersToUse = if (nonAbstractRealSupers.isNotEmpty()) {
|
||||||
nonAbstractRealSupers
|
nonAbstractRealSupers
|
||||||
@@ -59,7 +59,7 @@ public class OverrideMembersHandler : OverrideImplementMembersHandler() {
|
|||||||
val immediateSupers = byOriginalRealSupers[realSuper.original]!!.immediateSupers
|
val immediateSupers = byOriginalRealSupers[realSuper.original]!!.immediateSupers
|
||||||
assert(immediateSupers.isNotEmpty())
|
assert(immediateSupers.isNotEmpty())
|
||||||
|
|
||||||
val immediateSuperToUse = if (immediateSupers.size() == 1) {
|
val immediateSuperToUse = if (immediateSupers.size == 1) {
|
||||||
immediateSupers.single()
|
immediateSupers.single()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -68,7 +68,7 @@ public class OverrideMembersHandler : OverrideImplementMembersHandler() {
|
|||||||
|
|
||||||
val bodyType = if (immediateSuperToUse.modality == Modality.ABSTRACT)
|
val bodyType = if (immediateSuperToUse.modality == Modality.ABSTRACT)
|
||||||
OverrideMemberChooserObject.BodyType.EMPTY
|
OverrideMemberChooserObject.BodyType.EMPTY
|
||||||
else if (realSupersToUse.size() == 1)
|
else if (realSupersToUse.size == 1)
|
||||||
OverrideMemberChooserObject.BodyType.SUPER
|
OverrideMemberChooserObject.BodyType.SUPER
|
||||||
else
|
else
|
||||||
OverrideMemberChooserObject.BodyType.QUALIFIED_SUPER
|
OverrideMemberChooserObject.BodyType.QUALIFIED_SUPER
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public fun KtCallExpression.moveFunctionLiteralOutsideParentheses() {
|
|||||||
val dummyCall = KtPsiFactory(this).createExpressionByPattern("foo()$0:'{}'", expression) as KtCallExpression
|
val dummyCall = KtPsiFactory(this).createExpressionByPattern("foo()$0:'{}'", expression) as KtCallExpression
|
||||||
val functionLiteralArgument = dummyCall.getLambdaArguments().single()
|
val functionLiteralArgument = dummyCall.getLambdaArguments().single()
|
||||||
this.add(functionLiteralArgument)
|
this.add(functionLiteralArgument)
|
||||||
if (argumentList.getArguments().size() > 1) {
|
if (argumentList.getArguments().size > 1) {
|
||||||
argumentList.removeArgument(argument)
|
argumentList.removeArgument(argument)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
+2
-2
@@ -46,8 +46,8 @@ public open class DescriptorMemberChooserObject(
|
|||||||
val parent = descriptor.containingDeclaration ?: error("No parent for $descriptor")
|
val parent = descriptor.containingDeclaration ?: error("No parent for $descriptor")
|
||||||
|
|
||||||
val declaration = if (psiElement is KtDeclaration) { // kotlin
|
val declaration = if (psiElement is KtDeclaration) { // kotlin
|
||||||
PsiTreeUtil.getStubOrPsiParentOfType(psiElement, javaClass<KtNamedDeclaration>())
|
PsiTreeUtil.getStubOrPsiParentOfType(psiElement, KtNamedDeclaration::class.java)
|
||||||
?: PsiTreeUtil.getStubOrPsiParentOfType(psiElement, javaClass<KtFile>())
|
?: PsiTreeUtil.getStubOrPsiParentOfType(psiElement, KtFile::class.java)
|
||||||
}
|
}
|
||||||
else { // java or compiled
|
else { // java or compiled
|
||||||
(psiElement as PsiMember).containingClass
|
(psiElement as PsiMember).containingClass
|
||||||
|
|||||||
Reference in New Issue
Block a user