From 4ed1c3d4487041d8140f0a645c0c3ff19f9f1d55 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 9 Mar 2016 15:42:15 +0300 Subject: [PATCH] Minor: Generify KtClassOrObject.addDeclarationXXX() --- .../src/org/jetbrains/kotlin/psi/KtClassOrObject.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt index 17904aaade3..3a6cf55e5f3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt @@ -63,20 +63,20 @@ abstract class KtClassOrObject : fun getBody(): KtClassBody? = getStubOrPsiChild(KtStubElementTypes.CLASS_BODY) - fun addDeclaration(declaration: KtDeclaration): KtDeclaration { + inline fun addDeclaration(declaration: T): T { val body = getOrCreateBody() val anchor = PsiTreeUtil.skipSiblingsBackward(body.rBrace ?: body.lastChild!!, PsiWhiteSpace::class.java) - return body.addAfter(declaration, anchor) as KtDeclaration + return body.addAfter(declaration, anchor) as T } - fun addDeclarationAfter(declaration: KtDeclaration, anchor: PsiElement?): KtDeclaration { + inline fun addDeclarationAfter(declaration: T, anchor: PsiElement?): T { val anchorBefore = anchor ?: declarations.lastOrNull() ?: return addDeclaration(declaration) - return getOrCreateBody().addAfter(declaration, anchorBefore) as KtDeclaration + return getOrCreateBody().addAfter(declaration, anchorBefore) as T } - fun addDeclarationBefore(declaration: KtDeclaration, anchor: PsiElement?): KtDeclaration { + inline fun addDeclarationBefore(declaration: T, anchor: PsiElement?): T { val anchorAfter = anchor ?: declarations.firstOrNull() ?: return addDeclaration(declaration) - return getOrCreateBody().addBefore(declaration, anchorAfter) as KtDeclaration + return getOrCreateBody().addBefore(declaration, anchorAfter) as T } fun isTopLevel(): Boolean = stub?.isTopLevel() ?: (parent is KtFile)