KotlinPairMatcher: convert to .kt

(cherry picked from commit 0bc4f26)
This commit is contained in:
Dmitry Jemerov
2018-01-03 16:27:41 +01:00
parent 0c429857de
commit 968e6ecde4
@@ -3,49 +3,40 @@
* that can be found in the license/LICENSE.txt file. * that can be found in the license/LICENSE.txt file.
*/ */
package org.jetbrains.kotlin.idea; package org.jetbrains.kotlin.idea
import com.intellij.lang.BracePair; import com.intellij.lang.BracePair
import com.intellij.lang.PairedBraceMatcher; import com.intellij.lang.PairedBraceMatcher
import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFile
import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.IElementType
import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.lexer.KtTokens;
public class KotlinPairMatcher implements PairedBraceMatcher { class KotlinPairMatcher : PairedBraceMatcher {
private final BracePair[] pairs = new BracePair[]{ private val pairs = arrayOf(
new BracePair(KtTokens.LPAR, KtTokens.RPAR, false), BracePair(KtTokens.LPAR, KtTokens.RPAR, false),
new BracePair(KtTokens.LONG_TEMPLATE_ENTRY_START, KtTokens.LONG_TEMPLATE_ENTRY_END, false), BracePair(KtTokens.LONG_TEMPLATE_ENTRY_START, KtTokens.LONG_TEMPLATE_ENTRY_END, false),
new BracePair(KtTokens.LBRACE, KtTokens.RBRACE, true), BracePair(KtTokens.LBRACE, KtTokens.RBRACE, true),
new BracePair(KtTokens.LBRACKET, KtTokens.RBRACKET, false), BracePair(KtTokens.LBRACKET, KtTokens.RBRACKET, false)
}; )
@Override override fun getPairs(): Array<BracePair> = pairs
public BracePair[] getPairs() {
return pairs;
}
@Override override fun isPairedBracesAllowedBeforeType(lbraceType: IElementType, contextType: IElementType?): Boolean {
public boolean isPairedBracesAllowedBeforeType(@NotNull IElementType lbraceType, @Nullable IElementType contextType) { return if (lbraceType == KtTokens.LONG_TEMPLATE_ENTRY_START) {
if (lbraceType.equals(KtTokens.LONG_TEMPLATE_ENTRY_START)) {
// KotlinTypedHandler insert paired brace in this case // KotlinTypedHandler insert paired brace in this case
return false; false
} } else KtTokens.WHITE_SPACE_OR_COMMENT_BIT_SET.contains(contextType)
|| contextType === KtTokens.SEMICOLON
|| contextType === KtTokens.COMMA
|| contextType === KtTokens.RPAR
|| contextType === KtTokens.RBRACKET
|| contextType === KtTokens.RBRACE
|| contextType === KtTokens.LBRACE
|| contextType === KtTokens.LONG_TEMPLATE_ENTRY_END
return KtTokens.WHITE_SPACE_OR_COMMENT_BIT_SET.contains(contextType)
|| contextType == KtTokens.SEMICOLON
|| contextType == KtTokens.COMMA
|| contextType == KtTokens.RPAR
|| contextType == KtTokens.RBRACKET
|| contextType == KtTokens.RBRACE
|| contextType == KtTokens.LBRACE
|| contextType == KtTokens.LONG_TEMPLATE_ENTRY_END;
} }
@Override override fun getCodeConstructStart(file: PsiFile, openingBraceOffset: Int): Int {
public int getCodeConstructStart(PsiFile file, int openingBraceOffset) { return openingBraceOffset
return openingBraceOffset;
} }
} }