[psi] define common constant expressions types
This commit is contained in:
@@ -65,7 +65,7 @@ public class KtCollectionLiteralExpression extends KtElementImplStub<KotlinColle
|
|||||||
public List<KtExpression> getInnerExpressions() {
|
public List<KtExpression> getInnerExpressions() {
|
||||||
KotlinCollectionLiteralExpressionStub stub = getStub();
|
KotlinCollectionLiteralExpressionStub stub = getStub();
|
||||||
if (stub != null) {
|
if (stub != null) {
|
||||||
return Arrays.asList(stub.getChildrenByType(KtValueArgument.CONSTANT_EXPRESSIONS_TYPES, KtExpression.EMPTY_ARRAY));
|
return Arrays.asList(stub.getChildrenByType(KtStubElementTypes.CONSTANT_EXPRESSIONS_TYPES, KtExpression.EMPTY_ARRAY));
|
||||||
}
|
}
|
||||||
return PsiTreeUtil.getChildrenOfTypeAsList(this, KtExpression.class);
|
return PsiTreeUtil.getChildrenOfTypeAsList(this, KtExpression.class);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,23 +46,6 @@ public class KtValueArgument extends KtElementImplStub<KotlinValueArgumentStub<?
|
|||||||
return visitor.visitArgument(this, data);
|
return visitor.visitArgument(this, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final TokenSet CONSTANT_EXPRESSIONS_TYPES = TokenSet.create(
|
|
||||||
KtStubElementTypes.NULL,
|
|
||||||
KtStubElementTypes.BOOLEAN_CONSTANT,
|
|
||||||
KtStubElementTypes.FLOAT_CONSTANT,
|
|
||||||
KtStubElementTypes.CHARACTER_CONSTANT,
|
|
||||||
KtStubElementTypes.INTEGER_CONSTANT,
|
|
||||||
|
|
||||||
KtStubElementTypes.REFERENCE_EXPRESSION,
|
|
||||||
KtStubElementTypes.DOT_QUALIFIED_EXPRESSION,
|
|
||||||
|
|
||||||
KtStubElementTypes.STRING_TEMPLATE,
|
|
||||||
|
|
||||||
KtStubElementTypes.CLASS_LITERAL_EXPRESSION,
|
|
||||||
|
|
||||||
KtStubElementTypes.COLLECTION_LITERAL_EXPRESSION
|
|
||||||
);
|
|
||||||
|
|
||||||
private static final TokenSet STRING_TEMPLATE_EXPRESSIONS_TYPES = TokenSet.create(
|
private static final TokenSet STRING_TEMPLATE_EXPRESSIONS_TYPES = TokenSet.create(
|
||||||
KtStubElementTypes.STRING_TEMPLATE
|
KtStubElementTypes.STRING_TEMPLATE
|
||||||
);
|
);
|
||||||
@@ -72,7 +55,7 @@ public class KtValueArgument extends KtElementImplStub<KotlinValueArgumentStub<?
|
|||||||
public KtExpression getArgumentExpression() {
|
public KtExpression getArgumentExpression() {
|
||||||
KotlinPlaceHolderStub<? extends KtValueArgument> stub = getStub();
|
KotlinPlaceHolderStub<? extends KtValueArgument> stub = getStub();
|
||||||
if (stub != null) {
|
if (stub != null) {
|
||||||
KtExpression[] constantExpressions = stub.getChildrenByType(CONSTANT_EXPRESSIONS_TYPES, KtExpression.EMPTY_ARRAY);
|
KtExpression[] constantExpressions = stub.getChildrenByType(KtStubElementTypes.CONSTANT_EXPRESSIONS_TYPES, KtExpression.EMPTY_ARRAY);
|
||||||
if (constantExpressions.length != 0) {
|
if (constantExpressions.length != 0) {
|
||||||
return constantExpressions[0];
|
return constantExpressions[0];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.psi.stubs.elements;
|
package org.jetbrains.kotlin.psi.stubs.elements;
|
||||||
|
|
||||||
|
import com.intellij.psi.tree.TokenSet;
|
||||||
import org.jetbrains.kotlin.psi.*;
|
import org.jetbrains.kotlin.psi.*;
|
||||||
|
|
||||||
public interface KtStubElementTypes {
|
public interface KtStubElementTypes {
|
||||||
@@ -165,6 +166,23 @@ public interface KtStubElementTypes {
|
|||||||
KtPlaceHolderStubElementType<KtStringTemplateExpression> STRING_TEMPLATE =
|
KtPlaceHolderStubElementType<KtStringTemplateExpression> STRING_TEMPLATE =
|
||||||
new KtStringTemplateExpressionElementType("STRING_TEMPLATE");
|
new KtStringTemplateExpressionElementType("STRING_TEMPLATE");
|
||||||
|
|
||||||
|
TokenSet CONSTANT_EXPRESSIONS_TYPES = TokenSet.create(
|
||||||
|
NULL,
|
||||||
|
BOOLEAN_CONSTANT,
|
||||||
|
FLOAT_CONSTANT,
|
||||||
|
CHARACTER_CONSTANT,
|
||||||
|
INTEGER_CONSTANT,
|
||||||
|
|
||||||
|
REFERENCE_EXPRESSION,
|
||||||
|
DOT_QUALIFIED_EXPRESSION,
|
||||||
|
|
||||||
|
STRING_TEMPLATE,
|
||||||
|
|
||||||
|
CLASS_LITERAL_EXPRESSION,
|
||||||
|
|
||||||
|
COLLECTION_LITERAL_EXPRESSION
|
||||||
|
);
|
||||||
|
|
||||||
KtPlaceHolderWithTextStubElementType<KtBlockStringTemplateEntry> LONG_STRING_TEMPLATE_ENTRY =
|
KtPlaceHolderWithTextStubElementType<KtBlockStringTemplateEntry> LONG_STRING_TEMPLATE_ENTRY =
|
||||||
new KtPlaceHolderWithTextStubElementType<>("LONG_STRING_TEMPLATE_ENTRY", KtBlockStringTemplateEntry.class);
|
new KtPlaceHolderWithTextStubElementType<>("LONG_STRING_TEMPLATE_ENTRY", KtBlockStringTemplateEntry.class);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user