From 8c6264bf2cbca8741ffd74936625fcd67643c14f Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 27 May 2015 19:26:27 +0300 Subject: [PATCH] Pull constructor-related methods from JetClass to JetClassOrObject --- .../src/org/jetbrains/kotlin/psi/JetClass.kt | 35 ------------------- .../jetbrains/kotlin/psi/JetClassOrObject.kt | 13 +++++++ .../resolve/lazy/data/JetClassInfo.java | 6 ---- .../lazy/data/JetClassOrObjectInfo.java | 6 ++++ .../resolve/lazy/data/JetObjectInfo.java | 6 ---- 5 files changed, 19 insertions(+), 47 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClass.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClass.kt index 43ed738977b..94ebf3da646 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClass.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClass.kt @@ -39,20 +39,6 @@ public open class JetClass : JetClassOrObject { return visitor.visitClass(this, data) } - public fun getPrimaryConstructor(): JetPrimaryConstructor? { - return getStubOrPsiChild(JetStubElementTypes.PRIMARY_CONSTRUCTOR) - } - - public fun getPrimaryConstructorParameterList(): JetParameterList? { - val primaryConstructor = getPrimaryConstructor() - return primaryConstructor?.getValueParameterList() - } - - public fun getPrimaryConstructorParameters(): List { - val list = getPrimaryConstructorParameterList() ?: return emptyList() - return list.getParameters() - } - public fun createPrimaryConstructorIfAbsent(): JetPrimaryConstructor { val constructor = getPrimaryConstructor() if (constructor != null) return constructor @@ -69,14 +55,6 @@ public open class JetClass : JetClassOrObject { return constructor.add(JetPsiFactory(getProject()).createParameterList("()")) as JetParameterList } - public fun getPrimaryConstructorModifierList(): JetModifierList? { - val primaryConstructor = getPrimaryConstructor() - return primaryConstructor?.getModifierList() - } - - public fun hasExplicitPrimaryConstructor(): Boolean { - return getPrimaryConstructor() != null - } public fun getColon(): PsiElement? { return findChildByType(JetTokens.COLON) @@ -149,19 +127,6 @@ public open class JetClass : JetClassOrObject { return body.getAllCompanionObjects() } - public fun hasPrimaryConstructor(): Boolean { - return hasExplicitPrimaryConstructor() || !hasSecondaryConstructors() - } - - private fun hasSecondaryConstructors(): Boolean { - return !getSecondaryConstructors().isEmpty() - } - - public fun getSecondaryConstructors(): List { - val body = getBody() - return if (body != null) body.getSecondaryConstructors() else emptyList() - } - public fun getClassOrInterfaceKeyword(): PsiElement? { return findChildByType(TokenSet.create(JetTokens.CLASS_KEYWORD, JetTokens.INTERFACE_KEYWORD)) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClassOrObject.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClassOrObject.kt index 1df87e009f5..bf4f3be8ca2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClassOrObject.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetClassOrObject.kt @@ -47,4 +47,17 @@ abstract public class JetClassOrObject : JetTypeParameterListOwnerStub = getPrimaryConstructorParameterList()?.getParameters().orEmpty() + + public fun hasExplicitPrimaryConstructor(): Boolean = getPrimaryConstructor() != null + + public fun hasPrimaryConstructor(): Boolean = hasExplicitPrimaryConstructor() || !hasSecondaryConstructors() + private fun hasSecondaryConstructors(): Boolean = !getSecondaryConstructors().isEmpty() + + public fun getSecondaryConstructors(): List = getBody()?.getSecondaryConstructors().orEmpty() } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java index e907956aeeb..2e5d0a5898d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java @@ -51,12 +51,6 @@ public class JetClassInfo extends JetClassOrObjectInfo { return element.getTypeParameterList(); } - @NotNull - @Override - public List getPrimaryConstructorParameters() { - return element.getPrimaryConstructorParameters(); - } - @NotNull @Override public ClassKind getClassKind() { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassOrObjectInfo.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassOrObjectInfo.java index 10cdb2dda33..cc99c973651 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassOrObjectInfo.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassOrObjectInfo.java @@ -90,6 +90,12 @@ public abstract class JetClassOrObjectInfo implement return body == null ? Collections.emptyList() : body.getDanglingAnnotations(); } + @NotNull + @Override + public List getPrimaryConstructorParameters() { + return element.getPrimaryConstructorParameters(); + } + @Override public String toString() { return "info for " + element.getText(); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetObjectInfo.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetObjectInfo.java index 389b5133d59..adc5ed94d83 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetObjectInfo.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetObjectInfo.java @@ -42,12 +42,6 @@ public class JetObjectInfo extends JetClassOrObjectInfo { return null; } - @NotNull - @Override - public List getPrimaryConstructorParameters() { - return Collections.emptyList(); - } - @NotNull @Override public ClassKind getClassKind() {