[jvm-lang] inline kotlin typealiases

This commit is contained in:
Daniil Ovchinnikov
2018-02-16 19:46:37 +03:00
parent 245772afbe
commit 96fe227e19
5 changed files with 11 additions and 12 deletions
@@ -9,6 +9,7 @@ import com.intellij.openapi.util.Pair
import com.intellij.psi.PsiJvmSubstitutor
import com.intellij.psi.PsiSubstitutor
import com.intellij.psi.PsiType
import com.intellij.psi.codeStyle.SuggestedNameInfo
private class SimpleMethodRequest(
private val methodName: String,
@@ -21,12 +22,12 @@ private class SimpleMethodRequest(
override fun getModifiers() = modifiers
override fun getReturnType() = returnType
override fun getAnnotations() = emptyList<AnnotationRequest>()
override fun getParameters() = emptyList<ExpectedParameter>()
override fun getParameters() = emptyList<kotlin.Pair<SuggestedNameInfo, ExpectedTypes>>()
override fun getTargetSubstitutor() = targetSubstitutor
}
private class SimpleConstructorRequest(
private val parameters: ExpectedParameters,
private val parameters: List<kotlin.Pair<SuggestedNameInfo, ExpectedTypes>>,
private val targetSubstitutor: JvmSubstitutor
) : CreateConstructorRequest {
override fun isValid(): Boolean = true
@@ -1,9 +1,6 @@
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.lang.jvm.actions
import com.intellij.psi.codeStyle.SuggestedNameInfo
typealias ExpectedParameter = Pair<SuggestedNameInfo, ExpectedTypes>
typealias ExpectedParameters = List<ExpectedParameter>
fun nameInfo(vararg names: String): SuggestedNameInfo = object : SuggestedNameInfo(names) {}
@@ -5,11 +5,11 @@ import com.intellij.codeInsight.ExpectedTypeInfo
import com.intellij.codeInsight.daemon.impl.quickfix.CreateFromUsageUtils
import com.intellij.codeInsight.daemon.impl.quickfix.GuessTypeParameters
import com.intellij.codeInsight.template.TemplateBuilder
import com.intellij.lang.jvm.actions.ExpectedParameters
import com.intellij.lang.jvm.actions.ExpectedTypes
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Computable
import com.intellij.psi.*
import com.intellij.psi.codeStyle.SuggestedNameInfo
import com.intellij.psi.impl.source.PostprocessReformattingAspect
import com.intellij.psi.util.PsiUtil
@@ -22,7 +22,7 @@ internal class TemplateContext(
val guesserContext: PsiElement?
)
internal fun TemplateContext.setupParameters(method: PsiMethod, parameters: ExpectedParameters) {
internal fun TemplateContext.setupParameters(method: PsiMethod, parameters: List<Pair<SuggestedNameInfo, ExpectedTypes>>) {
if (parameters.isEmpty()) return
val postprocessReformattingAspect = PostprocessReformattingAspect.getInstance(project)
val parameterList = method.parameterList
@@ -7,6 +7,7 @@ import com.intellij.lang.jvm.actions.*
import com.intellij.openapi.components.service
import com.intellij.psi.*
import com.intellij.psi.codeStyle.JavaCodeStyleManager
import com.intellij.psi.codeStyle.SuggestedNameInfo
import com.intellij.psi.codeStyle.VariableKind
import com.intellij.psi.util.createSmartPointer
import com.intellij.psi.util.parentOfType
@@ -30,7 +31,7 @@ internal abstract class CreateExecutableFromJavaUsageRequest<out T : PsiCall>(
override fun getTargetSubstitutor() = PsiJvmSubstitutor(project, getTargetSubstitutor(call))
override fun getParameters(): List<ExpectedParameter> {
override fun getParameters(): List<Pair<SuggestedNameInfo, ExpectedTypes>> {
val argumentList = call.argumentList ?: return emptyList()
val scope = call.resolveScope
val codeStyleManager: JavaCodeStyleManager = project.service()
@@ -48,7 +49,7 @@ internal abstract class CreateExecutableFromJavaUsageRequest<out T : PsiCall>(
}
val expectedTypeInfo = argType?.let { expectedType(it, ExpectedType.Kind.SUPERTYPE) }
val expectedTypes = expectedTypeInfo?.let { listOf(it) } ?: emptyList()
ExpectedParameter(names, expectedTypes)
Pair<SuggestedNameInfo, ExpectedTypes>(names, expectedTypes)
}
}
@@ -50,11 +50,11 @@ class CreateEventHandlerRequest(element: XmlAttributeValue) : CreateMethodReques
override fun getReturnType() = listOf(expectedType(PsiType.VOID, ExpectedType.Kind.EXACT))
override fun getParameters(): List<ExpectedParameter> {
override fun getParameters(): List<Pair<SuggestedNameInfo, ExpectedTypes>> {
val eventType = getEventType(myElement)
val expectedType = expectedType(eventType, ExpectedType.Kind.EXACT)
val nameInfo = suggestParamName(myProject, eventType)
val parameter = ExpectedParameter(nameInfo, listOf(expectedType))
val parameter = Pair(nameInfo, listOf(expectedType))
return listOf(parameter)
}