Add new token COLONCOLON (::) for callable reference
#KT-1183 In Progress
This commit is contained in:
@@ -57,7 +57,8 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
PLUS, MINUS, EXCL, DIV, PERC, LTEQ,
|
||||
// TODO GTEQ, foo<bar, baz>=x
|
||||
EQEQEQ, EXCLEQEQEQ, EQEQ, EXCLEQ, ANDAND, OROR, SAFE_ACCESS, ELVIS,
|
||||
SEMICOLON, RANGE, EQ, MULTEQ, DIVEQ, PERCEQ, PLUSEQ, MINUSEQ, NOT_IN, NOT_IS, //HASH,
|
||||
SEMICOLON, RANGE, EQ, MULTEQ, DIVEQ, PERCEQ, PLUSEQ, MINUSEQ, NOT_IN, NOT_IS,
|
||||
COLONCOLON,
|
||||
COLON
|
||||
);
|
||||
|
||||
@@ -68,6 +69,8 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
LBRACKET, LABEL_IDENTIFIER, AT, ATAT,
|
||||
// Atomic
|
||||
|
||||
COLONCOLON, // callable reference
|
||||
|
||||
LPAR, // parenthesized
|
||||
HASH, // Tuple
|
||||
|
||||
@@ -128,7 +131,6 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
@SuppressWarnings({"UnusedDeclaration"})
|
||||
public enum Precedence {
|
||||
POSTFIX(PLUSPLUS, MINUSMINUS, EXCLEXCL,
|
||||
// HASH,
|
||||
DOT, SAFE_ACCESS), // typeArguments? valueArguments : typeArguments : arrayAccess
|
||||
|
||||
PREFIX(MINUS, PLUS, MINUSMINUS, PLUSPLUS, EXCL, LABEL_IDENTIFIER, AT, ATAT) { // attributes
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ public class JetCallableReferenceExpression extends JetExpressionImpl {
|
||||
|
||||
@NotNull
|
||||
public JetSimpleNameExpression getCallableReference() {
|
||||
ASTNode node = getNode().findChildByType(JetTokens.OPERATIONS /* TODO: COLONCOLON */);
|
||||
ASTNode node = getNode().findChildByType(JetTokens.COLONCOLON);
|
||||
while (node != null) {
|
||||
PsiElement psi = node.getPsi();
|
||||
if (psi instanceof JetSimpleNameExpression) {
|
||||
|
||||
@@ -297,6 +297,7 @@ LONG_TEMPLATE_ENTRY_END=\}
|
||||
"=>" { return JetTokens.DOUBLE_ARROW; }
|
||||
".." { return JetTokens.RANGE ; }
|
||||
"@@" { return JetTokens.ATAT ; }
|
||||
"::" { return JetTokens.COLONCOLON; }
|
||||
"[" { return JetTokens.LBRACKET ; }
|
||||
"]" { return JetTokens.RBRACKET ; }
|
||||
"{" { return JetTokens.LBRACE ; }
|
||||
|
||||
@@ -113,6 +113,7 @@ public interface JetTokens {
|
||||
// JetToken MAP = new JetToken("MAP");
|
||||
// JetToken FILTER = new JetToken("FILTER");
|
||||
JetToken QUEST = new JetToken("QUEST");
|
||||
JetToken COLONCOLON = new JetToken("COLONCOLON");
|
||||
JetToken COLON = new JetToken("COLON");
|
||||
JetToken SEMICOLON = new JetToken("SEMICOLON");
|
||||
JetToken RANGE = new JetToken("RANGE");
|
||||
@@ -191,7 +192,6 @@ public interface JetTokens {
|
||||
COLON,
|
||||
RANGE, EQ, MULTEQ, DIVEQ, PERCEQ, PLUSEQ, MINUSEQ,
|
||||
NOT_IN, NOT_IS,
|
||||
// HASH,
|
||||
IDENTIFIER, LABEL_IDENTIFIER, ATAT, AT);
|
||||
|
||||
TokenSet AUGMENTED_ASSIGNMENTS = TokenSet.create(PLUSEQ, MINUSEQ, MULTEQ, PERCEQ, DIVEQ);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user