Support new double colon expressions in IDE code

This commit is contained in:
Alexander Udalov
2016-05-04 17:41:10 +03:00
parent a3b38cf6ed
commit ca76e4d426
12 changed files with 61 additions and 52 deletions
@@ -42,13 +42,13 @@ abstract class KtDoubleColonExpression(node: ASTNode) : KtExpressionImpl(node) {
val doubleColonTokenReference: PsiElement
get() = findChildByType(KtTokens.COLONCOLON)!!
fun setTypeReference(typeReference: KtTypeReference) {
val oldTypeReference = this.typeReference
if (oldTypeReference != null) {
oldTypeReference.replace(typeReference)
fun setReceiverExpression(newReceiverExpression: KtExpression) {
val oldReceiverExpression = this.receiverExpression
if (oldReceiverExpression != null) {
oldReceiverExpression.replace(newReceiverExpression)
}
else {
addBefore(typeReference, doubleColonTokenReference)
addBefore(newReceiverExpression, doubleColonTokenReference)
}
}
@@ -421,7 +421,8 @@ public class KtPsiUtil {
if (expression instanceof KtPostfixExpression ||
expression instanceof KtQualifiedExpression ||
expression instanceof KtCallExpression ||
expression instanceof KtArrayAccessExpression) {
expression instanceof KtArrayAccessExpression ||
expression instanceof KtDoubleColonExpression) {
return maxPriority - 1;
}