More correct code for adding type specification to function declaration with no parameter list
This commit is contained in:
@@ -24,6 +24,7 @@ import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.jet.lang.psi.JetPsiFactory
|
||||
import com.intellij.psi.PsiWhiteSpace
|
||||
import org.jetbrains.jet.lang.psi.JetNamedDeclaration
|
||||
import com.intellij.psi.PsiErrorElement
|
||||
|
||||
fun getTypeRef(declaration: JetDeclaration): JetTypeReference? {
|
||||
return declaration.getFirstChild()!!.siblings(forward = true)
|
||||
@@ -39,7 +40,7 @@ fun setTypeRef(declaration: JetNamedDeclaration, addAfter: PsiElement?, typeRef:
|
||||
return oldTypeRef.replace(typeRef) as JetTypeReference
|
||||
}
|
||||
else {
|
||||
var anchor = addAfter ?: declaration.getNameIdentifier()
|
||||
var anchor = addAfter ?: declaration.getNameIdentifier()?.siblings(forward = true)?.firstOrNull { it is PsiErrorElement }
|
||||
val newTypeRef = declaration.addAfter(typeRef, anchor) as JetTypeReference
|
||||
declaration.addAfter(JetPsiFactory(declaration.getProject()).createColon(), anchor)
|
||||
return newTypeRef
|
||||
|
||||
Reference in New Issue
Block a user