From 41640e1a15cc1c25f2e3dd9b4e122710c8db5de0 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 31 Oct 2018 19:36:16 +0300 Subject: [PATCH] New J2K: Add dependency to idea-core in j2k --- idea/idea-core/build.gradle.kts | 1 - .../kotlin/idea/j2k/DocCommentConverter.kt | 27 ++++++++++++++ .../idea/j2k/IdeaDocCommentConverter.kt | 4 +- .../kotlin/j2k/AnnotationConverter.kt | 1 + .../org/jetbrains/kotlin/j2k/CodeBuilder.kt | 1 + .../kotlin/j2k/DocCommentConverter.kt | 37 ------------------- .../j2k/JavaToKotlinConverterServices.kt | 2 + .../org/jetbrains/kotlin/j2k/ast/Element.kt | 2 +- 8 files changed, 34 insertions(+), 41 deletions(-) create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/DocCommentConverter.kt delete mode 100644 j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt diff --git a/idea/idea-core/build.gradle.kts b/idea/idea-core/build.gradle.kts index 79d1e8ebd66..a3867cd45d9 100644 --- a/idea/idea-core/build.gradle.kts +++ b/idea/idea-core/build.gradle.kts @@ -14,7 +14,6 @@ dependencies { compile(project(":compiler:frontend.script")) compile(project(":compiler:light-classes")) compile(project(":compiler:util")) - compile(project(":j2k")) compile(project(":idea:ide-common")) compile(project(":idea:idea-jps-common")) compile(project(":plugins:android-extensions-compiler")) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/DocCommentConverter.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/DocCommentConverter.kt new file mode 100644 index 00000000000..8f3735aaf0e --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/DocCommentConverter.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2010-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/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.j2k + +import com.intellij.psi.JavaDocTokenType +import com.intellij.psi.PsiWhiteSpace +import com.intellij.psi.javadoc.PsiDocComment +import com.intellij.psi.javadoc.PsiDocTag + +interface DocCommentConverter { + fun convertDocComment(docComment: PsiDocComment): String +} + +object EmptyDocCommentConverter : DocCommentConverter { + override fun convertDocComment(docComment: PsiDocComment) = docComment.text +} + + +fun PsiDocTag.content(): String = + children + .dropWhile { it?.node?.elementType == JavaDocTokenType.DOC_TAG_NAME } + .dropWhile { it is PsiWhiteSpace } + .filterNot { it?.node?.elementType == JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS } + .joinToString("") { it.text } \ No newline at end of file diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt index 72d457e2f41..2f94167e766 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt @@ -28,8 +28,8 @@ import com.intellij.psi.xml.XmlFile import com.intellij.psi.xml.XmlTag import com.intellij.psi.xml.XmlText import com.intellij.psi.xml.XmlTokenType -import org.jetbrains.kotlin.j2k.DocCommentConverter -import org.jetbrains.kotlin.j2k.content +import org.jetbrains.kotlin.idea.j2k.DocCommentConverter +import org.jetbrains.kotlin.idea.j2k.content object IdeaDocCommentConverter : DocCommentConverter { override fun convertDocComment(docComment: PsiDocComment): String { diff --git a/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt index 76b5b4e1467..edc04113a14 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/AnnotationConverter.kt @@ -20,6 +20,7 @@ import com.intellij.codeInsight.NullableNotNullManager import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.* import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget +import org.jetbrains.kotlin.idea.j2k.content import org.jetbrains.kotlin.j2k.ast.* import org.jetbrains.kotlin.j2k.ast.Annotation import org.jetbrains.kotlin.load.java.components.JavaAnnotationTargetMapper diff --git a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt index d61b871ebad..e0fefb19a30 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.* import com.intellij.psi.javadoc.PsiDocComment import com.intellij.util.SmartList +import org.jetbrains.kotlin.idea.j2k.DocCommentConverter import org.jetbrains.kotlin.j2k.ast.CommentsAndSpacesInheritance import org.jetbrains.kotlin.j2k.ast.Element import org.jetbrains.kotlin.j2k.ast.SpacesInheritance diff --git a/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt deleted file mode 100644 index ab4d2257372..00000000000 --- a/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.j2k - -import com.intellij.psi.JavaDocTokenType -import com.intellij.psi.PsiWhiteSpace -import com.intellij.psi.javadoc.PsiDocComment -import com.intellij.psi.javadoc.PsiDocTag - -interface DocCommentConverter { - fun convertDocComment(docComment: PsiDocComment): String -} - -object EmptyDocCommentConverter: DocCommentConverter { - override fun convertDocComment(docComment: PsiDocComment) = docComment.text -} - -fun PsiDocTag.content(): String = - children - .dropWhile { it?.node?.elementType == JavaDocTokenType.DOC_TAG_NAME } - .dropWhile { it is PsiWhiteSpace } - .filterNot { it?.node?.elementType == JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS } - .joinToString("") { it.text } diff --git a/j2k/src/org/jetbrains/kotlin/j2k/JavaToKotlinConverterServices.kt b/j2k/src/org/jetbrains/kotlin/j2k/JavaToKotlinConverterServices.kt index f5306c6fff0..3f75b3c24bb 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/JavaToKotlinConverterServices.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/JavaToKotlinConverterServices.kt @@ -17,6 +17,8 @@ package org.jetbrains.kotlin.j2k import com.intellij.psi.PsiMethod +import org.jetbrains.kotlin.idea.j2k.DocCommentConverter +import org.jetbrains.kotlin.idea.j2k.EmptyDocCommentConverter interface JavaToKotlinConverterServices { val referenceSearcher: ReferenceSearcher diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Element.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Element.kt index cbff34838cd..3690a84bafb 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Element.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Element.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.j2k.ast import com.intellij.psi.PsiElement import org.jetbrains.kotlin.j2k.CodeBuilder import org.jetbrains.kotlin.j2k.CodeConverter -import org.jetbrains.kotlin.j2k.EmptyDocCommentConverter +import org.jetbrains.kotlin.idea.j2k.EmptyDocCommentConverter fun TElement.assignPrototype(prototype: PsiElement?, inheritance: CommentsAndSpacesInheritance = CommentsAndSpacesInheritance()): TElement { prototypes = if (prototype != null) listOf(PrototypeInfo(prototype, inheritance)) else listOf()