diff --git a/grammar/src/types.grm b/grammar/src/types.grm index 3e9646e521e..1532efb9859 100644 --- a/grammar/src/types.grm +++ b/grammar/src/types.grm @@ -32,7 +32,7 @@ userType ; simpleUserType - : SimpleName ("<" (optionalProjection type){","} ">")? + : SimpleName ("<" (optionalProjection type | "*"){","} ">")? ; optionalProjection diff --git a/idea/src/org/jetbrains/jet/JetNodeTypes.java b/idea/src/org/jetbrains/jet/JetNodeTypes.java index e5f472a04a1..506aa7bc745 100644 --- a/idea/src/org/jetbrains/jet/JetNodeTypes.java +++ b/idea/src/org/jetbrains/jet/JetNodeTypes.java @@ -123,6 +123,7 @@ public interface JetNodeTypes { JetNodeType WHEN_CONDITION = new JetNodeType("WHEN_CONDITION"); JetNodeType TUPLE_PATTERN_ENTRY = new JetNodeType("TUPLE_PATTERN_ENTRY"); JetNodeType NULLABLE_TYPE = new JetNodeType("NULLABLE_TYPE", JetNullableType.class); + JetNodeType TYPE_PROJECTION = new JetNodeType("TYPE_PROJECTION"); JetNodeType NAMESPACE_NAME = new JetNodeType("NAMESPACE_NAME", JetContainerNode.class); } diff --git a/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java b/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java index fab8db1d13a..2e023b4f980 100644 --- a/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java +++ b/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java @@ -756,10 +756,10 @@ public class JetExpressionParsing extends AbstractJetParsing { */ private boolean parseLocalDeclaration() { PsiBuilder.Marker decls = mark(); - JetParsing.EnumDetector enumDetector = new JetParsing.EnumDetector(); + JetParsing.TokenDetector enumDetector = new JetParsing.TokenDetector(ENUM_KEYWORD); myJetParsing.parseModifierList(enumDetector); - JetNodeType declType = parseLocalDeclarationRest(enumDetector.isEnum()); + JetNodeType declType = parseLocalDeclarationRest(enumDetector.isDetected()); if (declType != null) { decls.done(declType); diff --git a/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java b/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java index bb8511ea343..c80aa24f313 100644 --- a/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java +++ b/idea/src/org/jetbrains/jet/lang/parsing/JetParsing.java @@ -203,7 +203,7 @@ public class JetParsing extends AbstractJetParsing { private void parseTopLevelObject() { PsiBuilder.Marker decl = mark(); - EnumDetector detector = new EnumDetector(); + TokenDetector detector = new TokenDetector(ENUM_KEYWORD); parseModifierList(detector); IElementType keywordToken = tt(); @@ -212,7 +212,7 @@ public class JetParsing extends AbstractJetParsing { declType = parseNamespaceBlock(); } else if (keywordToken == CLASS_KEYWORD) { - declType = parseClass(detector.isEnum()); + declType = parseClass(detector.isDetected()); } else if (keywordToken == EXTENSION_KEYWORD) { declType = parseExtension(); @@ -415,7 +415,7 @@ public class JetParsing extends AbstractJetParsing { TokenSet constructorNameFollow = TokenSet.create(SEMICOLON, COLON, LPAR, LT, LBRACE); int lastId = findLastBefore(ENUM_MEMBER_FIRST, constructorNameFollow, false); - EnumDetector enumDetector = new EnumDetector(); + TokenDetector enumDetector = new TokenDetector(ENUM_KEYWORD); createTruncatedBuilder(lastId).parseModifierList(enumDetector); IElementType type; @@ -424,7 +424,7 @@ public class JetParsing extends AbstractJetParsing { type = ENUM_ENTRY; } else { - type = parseMemberDeclarationRest(enumDetector.isEnum()); + type = parseMemberDeclarationRest(enumDetector.isDetected()); } if (type == null) { @@ -515,10 +515,10 @@ public class JetParsing extends AbstractJetParsing { private void parseMemberDeclaration() { PsiBuilder.Marker decl = mark(); - EnumDetector enumDetector = new EnumDetector(); + TokenDetector enumDetector = new TokenDetector(ENUM_KEYWORD); parseModifierList(enumDetector); - JetNodeType declType = parseMemberDeclarationRest(enumDetector.isEnum()); + JetNodeType declType = parseMemberDeclarationRest(enumDetector.isDetected()); if (declType == null) { errorAndAdvance("Expecting member declaration"); @@ -1262,7 +1262,7 @@ public class JetParsing extends AbstractJetParsing { } /* - * (optionalProjection type){","} + * (optionalProjection type){","} */ public PsiBuilder.Marker parseTypeArgumentList() { if (!at(LT)) return null; @@ -1273,8 +1273,19 @@ public class JetParsing extends AbstractJetParsing { advance(); // LT while (true) { - parseModifierList(); - parseTypeRef(); + PsiBuilder.Marker projection = mark(); + TokenDetector projectionDetector = new TokenDetector(TokenSet.create(IN_KEYWORD, OUT_KEYWORD)); + parseModifierList(projectionDetector); + if (at(MUL)) { + if (projectionDetector.isDetected()) { + errorAndAdvance("The '*' projection cannot be marked 'in' or 'out'"); // MUL + } else { + advance(); // MUL + } + } else { + parseTypeRef(); + } + projection.done(TYPE_PROJECTION); if (!at(COMMA)) break; advance(); // COMMA } @@ -1460,19 +1471,28 @@ public class JetParsing extends AbstractJetParsing { return createForTopLevel(builder); } - /*package*/ static class EnumDetector implements Consumer { + /*package*/ static class TokenDetector implements Consumer { - private boolean myEnum = false; + private boolean detected = false; + private final TokenSet tokens; + + public TokenDetector(JetKeywordToken token) { + this.tokens = TokenSet.create(token); + } + + public TokenDetector(TokenSet tokens) { + this.tokens = tokens; + } @Override public void consume(IElementType item) { - if (item == ENUM_KEYWORD) { - myEnum = true; + if (tokens.contains(item)) { + detected = true; } } - public boolean isEnum() { - return myEnum; + public boolean isDetected() { + return detected; } } } \ No newline at end of file diff --git a/idea/testData/psi/Attributes.txt b/idea/testData/psi/Attributes.txt index 586e1ccbc84..0ab8360a3ac 100644 --- a/idea/testData/psi/Attributes.txt +++ b/idea/testData/psi/Attributes.txt @@ -46,16 +46,18 @@ JetFile: Attributes.jet PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -93,25 +95,28 @@ JetFile: Attributes.jet PsiElement(IDENTIFIER)('doo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('f') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('f') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('goo') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('goo') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') diff --git a/idea/testData/psi/Attributes_ERR.txt b/idea/testData/psi/Attributes_ERR.txt index f438095eae8..7de13d6468f 100644 --- a/idea/testData/psi/Attributes_ERR.txt +++ b/idea/testData/psi/Attributes_ERR.txt @@ -51,16 +51,18 @@ JetFile: Attributes_ERR.jet PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -99,25 +101,28 @@ JetFile: Attributes_ERR.jet PsiElement(IDENTIFIER)('doo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('f') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('f') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('goo') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('goo') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') diff --git a/idea/testData/psi/Constructors.txt b/idea/testData/psi/Constructors.txt index dd3a6c9ee7f..dd76c74c650 100644 --- a/idea/testData/psi/Constructors.txt +++ b/idea/testData/psi/Constructors.txt @@ -46,10 +46,11 @@ JetFile: Constructors.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -103,10 +104,11 @@ JetFile: Constructors.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/Enums.txt b/idea/testData/psi/Enums.txt index e3147906f5a..29d64a81b01 100644 --- a/idea/testData/psi/Enums.txt +++ b/idea/testData/psi/Enums.txt @@ -137,10 +137,11 @@ JetFile: Enums.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Nothing') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Nothing') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -184,10 +185,11 @@ JetFile: Enums.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -201,10 +203,11 @@ JetFile: Enums.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/FunctionCalls.txt b/idea/testData/psi/FunctionCalls.txt index 44bada3b83f..e976558e048 100644 --- a/idea/testData/psi/FunctionCalls.txt +++ b/idea/testData/psi/FunctionCalls.txt @@ -28,10 +28,11 @@ JetFile: FunctionCalls.jet PsiElement(IDENTIFIER)('f') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('foo') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('foo') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -45,10 +46,11 @@ JetFile: FunctionCalls.jet PsiElement(IDENTIFIER)('f') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('foo') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('foo') PsiElement(GT)('>') PsiWhiteSpace('\n ') PARENTHESIZED @@ -134,10 +136,11 @@ JetFile: FunctionCalls.jet PsiElement(IDENTIFIER)('f') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -160,10 +163,11 @@ JetFile: FunctionCalls.jet PsiElement(IDENTIFIER)('f') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -192,16 +196,18 @@ JetFile: FunctionCalls.jet PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace('\n ') @@ -216,16 +222,18 @@ JetFile: FunctionCalls.jet PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/FunctionTypes.txt b/idea/testData/psi/FunctionTypes.txt index 946daa81f22..a33838460fe 100644 --- a/idea/testData/psi/FunctionTypes.txt +++ b/idea/testData/psi/FunctionTypes.txt @@ -612,25 +612,28 @@ JetFile: FunctionTypes.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('x') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -806,25 +809,28 @@ JetFile: FunctionTypes.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('x') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -1006,25 +1012,28 @@ JetFile: FunctionTypes.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('x') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -1272,25 +1281,28 @@ JetFile: FunctionTypes.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('x') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST diff --git a/idea/testData/psi/Functions.txt b/idea/testData/psi/Functions.txt index 86c067e38a0..a7d98faf586 100644 --- a/idea/testData/psi/Functions.txt +++ b/idea/testData/psi/Functions.txt @@ -74,10 +74,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -88,10 +89,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -294,10 +296,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -308,10 +311,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -526,10 +530,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -540,10 +545,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -711,10 +717,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -725,10 +732,11 @@ JetFile: Functions.jet PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/Functions_ERR.txt b/idea/testData/psi/Functions_ERR.txt index 632a7d4518b..a036db94587 100644 --- a/idea/testData/psi/Functions_ERR.txt +++ b/idea/testData/psi/Functions_ERR.txt @@ -407,10 +407,11 @@ JetFile: Functions_ERR.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST @@ -421,10 +422,11 @@ JetFile: Functions_ERR.jet PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/Precedence.txt b/idea/testData/psi/Precedence.txt index 51d5114548a..7fd2cae2f78 100644 --- a/idea/testData/psi/Precedence.txt +++ b/idea/testData/psi/Precedence.txt @@ -58,22 +58,25 @@ JetFile: Precedence.jet PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -194,16 +197,18 @@ JetFile: Precedence.jet PsiElement(IDENTIFIER)('foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/Properties.txt b/idea/testData/psi/Properties.txt index 3928dc21bf9..d1e2a1e434d 100644 --- a/idea/testData/psi/Properties.txt +++ b/idea/testData/psi/Properties.txt @@ -728,10 +728,11 @@ JetFile: Properties.jet PsiElement(IDENTIFIER)('IList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('lastIndex') diff --git a/idea/testData/psi/SimpleClassMembers.txt b/idea/testData/psi/SimpleClassMembers.txt index ebf57dfd92e..ca537557ce9 100644 --- a/idea/testData/psi/SimpleClassMembers.txt +++ b/idea/testData/psi/SimpleClassMembers.txt @@ -127,10 +127,11 @@ JetFile: SimpleClassMembers.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -368,10 +369,11 @@ JetFile: SimpleClassMembers.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -452,10 +454,11 @@ JetFile: SimpleClassMembers.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -500,10 +503,11 @@ JetFile: SimpleClassMembers.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/SimpleClassMembers_ERR.txt b/idea/testData/psi/SimpleClassMembers_ERR.txt index 8c394a813bb..a934a0fc8a1 100644 --- a/idea/testData/psi/SimpleClassMembers_ERR.txt +++ b/idea/testData/psi/SimpleClassMembers_ERR.txt @@ -117,10 +117,11 @@ JetFile: SimpleClassMembers_ERR.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiErrorElement:Expecting a '>' VALUE_ARGUMENT_LIST @@ -166,10 +167,11 @@ JetFile: SimpleClassMembers_ERR.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/SimpleExpressions.txt b/idea/testData/psi/SimpleExpressions.txt index 1b991f21efa..6f2d562f236 100644 --- a/idea/testData/psi/SimpleExpressions.txt +++ b/idea/testData/psi/SimpleExpressions.txt @@ -386,10 +386,11 @@ JetFile: SimpleExpressions.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -441,10 +442,11 @@ JetFile: SimpleExpressions.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace('\n ') diff --git a/idea/testData/psi/ThisType.txt b/idea/testData/psi/ThisType.txt index 6e6c09747d2..d44ef2aaa23 100644 --- a/idea/testData/psi/ThisType.txt +++ b/idea/testData/psi/ThisType.txt @@ -17,9 +17,10 @@ JetFile: ThisType.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - SELF_TYPE - PsiElement(This)('This') + TYPE_PROJECTION + TYPE_REFERENCE + SELF_TYPE + PsiElement(This)('This') PsiElement(GT)('>') PsiElement(GT)('>') PRIMARY_CONSTRUCTOR_PARAMETERS_LIST @@ -45,9 +46,10 @@ JetFile: ThisType.jet PsiElement(IDENTIFIER)('bar') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - SELF_TYPE - PsiElement(This)('This') + TYPE_PROJECTION + TYPE_REFERENCE + SELF_TYPE + PsiElement(This)('This') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -61,9 +63,10 @@ JetFile: ThisType.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - SELF_TYPE - PsiElement(This)('This') + TYPE_PROJECTION + TYPE_REFERENCE + SELF_TYPE + PsiElement(This)('This') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(by)('by') @@ -80,9 +83,10 @@ JetFile: ThisType.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - SELF_TYPE - PsiElement(This)('This') + TYPE_PROJECTION + TYPE_REFERENCE + SELF_TYPE + PsiElement(This)('This') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -137,9 +141,10 @@ JetFile: ThisType.jet PsiElement(IDENTIFIER)('Foo') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - SELF_TYPE - PsiElement(This)('This') + TYPE_PROJECTION + TYPE_REFERENCE + SELF_TYPE + PsiElement(This)('This') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/TypeAnnotations.txt b/idea/testData/psi/TypeAnnotations.txt index 8eb3baf47f9..a5eb40f6240 100644 --- a/idea/testData/psi/TypeAnnotations.txt +++ b/idea/testData/psi/TypeAnnotations.txt @@ -70,24 +70,26 @@ JetFile: TypeAnnotations.jet PsiElement(IDENTIFIER)('F') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - MODIFIER_LIST - ATTRIBUTE_ANNOTATION - PsiElement(LBRACKET)('[') - ATTRIBUTE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + MODIFIER_LIST + ATTRIBUTE_ANNOTATION + PsiElement(LBRACKET)('[') + ATTRIBUTE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('x') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('B') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') \ No newline at end of file diff --git a/idea/testData/psi/TypeExpressionAmbiguities_ERR.txt b/idea/testData/psi/TypeExpressionAmbiguities_ERR.txt index ae071e56680..c65cc0f0ece 100644 --- a/idea/testData/psi/TypeExpressionAmbiguities_ERR.txt +++ b/idea/testData/psi/TypeExpressionAmbiguities_ERR.txt @@ -24,22 +24,25 @@ JetFile: TypeExpressionAmbiguities_ERR.jet PsiElement(IDENTIFIER)('bar') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('c') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('c') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -172,10 +175,11 @@ JetFile: TypeExpressionAmbiguities_ERR.jet TYPE_ARGUMENT_LIST PsiElement(LT)('<') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('c') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('c') PsiErrorElement:Expecting a '>' PsiWhiteSpace('\n ') @@ -193,10 +197,11 @@ JetFile: TypeExpressionAmbiguities_ERR.jet TYPE_ARGUMENT_LIST PsiElement(LT)('<') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') PsiErrorElement:Expecting a '>' PsiWhiteSpace('\n ') @@ -213,10 +218,11 @@ JetFile: TypeExpressionAmbiguities_ERR.jet TYPE_ARGUMENT_LIST PsiElement(LT)('<') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('bar') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('bar') PsiErrorElement:Expecting a '>' PsiWhiteSpace('\n') diff --git a/idea/testData/psi/TypeParametersBeforeName.txt b/idea/testData/psi/TypeParametersBeforeName.txt index ed5b7113dca..db72372ebb8 100644 --- a/idea/testData/psi/TypeParametersBeforeName.txt +++ b/idea/testData/psi/TypeParametersBeforeName.txt @@ -142,10 +142,11 @@ JetFile: TypeParametersBeforeName.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') @@ -165,10 +166,11 @@ JetFile: TypeParametersBeforeName.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('A') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('A') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') \ No newline at end of file diff --git a/idea/testData/psi/When.txt b/idea/testData/psi/When.txt index 1980f9ae524..ad3df326c9b 100644 --- a/idea/testData/psi/When.txt +++ b/idea/testData/psi/When.txt @@ -875,10 +875,11 @@ JetFile: When.jet PsiElement(IDENTIFIER)('bar') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/examples/BinaryTree.txt b/idea/testData/psi/examples/BinaryTree.txt index d95a6d6b543..f22ef659e3f 100644 --- a/idea/testData/psi/examples/BinaryTree.txt +++ b/idea/testData/psi/examples/BinaryTree.txt @@ -20,10 +20,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('IMutableSet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -113,10 +114,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('MatchableComparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n ') PROPERTY @@ -164,10 +166,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('Comparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -215,10 +218,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('naturalOrder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -1800,10 +1804,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('IIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -1836,10 +1841,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('IMutableIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -1887,10 +1893,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('Stack') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('TreeNode') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('TreeNode') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -1908,10 +1915,11 @@ JetFile: BinaryTree.jet PsiElement(IDENTIFIER)('Stack') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('TreeNode') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('TreeNode') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/examples/BitArith.txt b/idea/testData/psi/examples/BitArith.txt index d7504f0fc6e..defca95cab4 100644 --- a/idea/testData/psi/examples/BitArith.txt +++ b/idea/testData/psi/examples/BitArith.txt @@ -529,9 +529,10 @@ JetFile: BitArith.jet PsiElement(IDENTIFIER)('IComparable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - SELF_TYPE - PsiElement(This)('This') + TYPE_PROJECTION + TYPE_REFERENCE + SELF_TYPE + PsiElement(This)('This') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY diff --git a/idea/testData/psi/examples/Graph.txt b/idea/testData/psi/examples/Graph.txt index 1f5454bda20..b93472549d9 100644 --- a/idea/testData/psi/examples/Graph.txt +++ b/idea/testData/psi/examples/Graph.txt @@ -114,23 +114,26 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('ArrayList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Edge') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Edge') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(COMMA)(',') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') + PsiElement(GT)('>') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -159,17 +162,19 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('HashSet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Vertex') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Vertex') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(GT)('>') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -188,23 +193,26 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('IList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Edge') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Edge') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(COMMA)(',') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') + PsiElement(GT)('>') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -226,23 +234,26 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('ISet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Edge') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(COMMA)(',') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Edge') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(COMMA)(',') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') + PsiElement(GT)('>') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -414,10 +425,11 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('Vertex') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -516,17 +528,19 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('HashSet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Vertex') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Vertex') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(GT)('>') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -582,10 +596,11 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('Vertex') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -600,17 +615,19 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('ISet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Vertex') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Vertex') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(GT)('>') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -742,17 +759,19 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('IPushPop') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Vertex') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Vertex') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(GT)('>') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -767,17 +786,19 @@ JetFile: Graph.jet PsiElement(IDENTIFIER)('ISet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Vertex') - TYPE_ARGUMENT_LIST - PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') - PsiElement(GT)('>') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Vertex') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') + PsiElement(GT)('>') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/examples/PolymorphicClassObjects.txt b/idea/testData/psi/examples/PolymorphicClassObjects.txt index 0212d08ad93..69b20bb7424 100644 --- a/idea/testData/psi/examples/PolymorphicClassObjects.txt +++ b/idea/testData/psi/examples/PolymorphicClassObjects.txt @@ -106,16 +106,18 @@ JetFile: PolymorphicClassObjects.jet PsiElement(IDENTIFIER)('Builder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('R') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('R') PsiElement(GT)('>') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') @@ -177,16 +179,18 @@ JetFile: PolymorphicClassObjects.jet PsiElement(IDENTIFIER)('Builder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('R') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('R') PsiElement(GT)('>') PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}') @@ -224,10 +228,11 @@ JetFile: PolymorphicClassObjects.jet PsiElement(IDENTIFIER)('Iterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace('\n ') @@ -249,16 +254,18 @@ JetFile: PolymorphicClassObjects.jet PsiElement(IDENTIFIER)('Buildable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('E') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('E') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(for)('for') @@ -315,10 +322,11 @@ JetFile: PolymorphicClassObjects.jet PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('R') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('R') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') diff --git a/idea/testData/psi/examples/Queue.txt b/idea/testData/psi/examples/Queue.txt index aa1ef5677e3..8da89f4eab1 100644 --- a/idea/testData/psi/examples/Queue.txt +++ b/idea/testData/psi/examples/Queue.txt @@ -20,10 +20,11 @@ JetFile: Queue.jet PsiElement(IDENTIFIER)('IPushPop') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -69,10 +70,11 @@ JetFile: Queue.jet PsiElement(IDENTIFIER)('Item') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace('\n\n ') @@ -92,10 +94,11 @@ JetFile: Queue.jet PsiElement(IDENTIFIER)('Item') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -119,10 +122,11 @@ JetFile: Queue.jet PsiElement(IDENTIFIER)('Item') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') diff --git a/idea/testData/psi/examples/Stack.txt b/idea/testData/psi/examples/Stack.txt index 4d78d8833b5..6bbeafeb67f 100644 --- a/idea/testData/psi/examples/Stack.txt +++ b/idea/testData/psi/examples/Stack.txt @@ -20,10 +20,11 @@ JetFile: Stack.jet PsiElement(IDENTIFIER)('IPushPop') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -48,10 +49,11 @@ JetFile: Stack.jet PsiElement(IDENTIFIER)('ArrayList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/examples/UnionFind.txt b/idea/testData/psi/examples/UnionFind.txt index b607bb62362..28dfdf1dd6e 100644 --- a/idea/testData/psi/examples/UnionFind.txt +++ b/idea/testData/psi/examples/UnionFind.txt @@ -25,10 +25,11 @@ JetFile: UnionFind.jet PsiElement(IDENTIFIER)('IMutableList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Int') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Int') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/examples/array/MutableArray.txt b/idea/testData/psi/examples/array/MutableArray.txt index b51b13c4371..bd4332a4f2e 100644 --- a/idea/testData/psi/examples/array/MutableArray.txt +++ b/idea/testData/psi/examples/array/MutableArray.txt @@ -160,10 +160,11 @@ JetFile: MutableArray.jet PsiElement(IDENTIFIER)('ReadOnlyArray') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -174,10 +175,11 @@ JetFile: MutableArray.jet PsiElement(IDENTIFIER)('WriteOnlyArray') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY diff --git a/idea/testData/psi/examples/collections/ArrayList.txt b/idea/testData/psi/examples/collections/ArrayList.txt index ccfca60c2ab..d2280e1a28c 100644 --- a/idea/testData/psi/examples/collections/ArrayList.txt +++ b/idea/testData/psi/examples/collections/ArrayList.txt @@ -20,10 +20,11 @@ JetFile: ArrayList.jet PsiElement(IDENTIFIER)('IMutableList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -96,10 +97,11 @@ JetFile: ArrayList.jet PsiElement(IDENTIFIER)('IIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -132,10 +134,11 @@ JetFile: ArrayList.jet PsiElement(IDENTIFIER)('IMutableIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') diff --git a/idea/testData/psi/examples/collections/HashMap.txt b/idea/testData/psi/examples/collections/HashMap.txt index a20cb2f5558..1f72270326b 100644 --- a/idea/testData/psi/examples/collections/HashMap.txt +++ b/idea/testData/psi/examples/collections/HashMap.txt @@ -490,10 +490,11 @@ JetFile: HashMap.jet PsiElement(IDENTIFIER)('IHashingStrategy') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('K') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('K') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -615,10 +616,11 @@ JetFile: HashMap.jet PsiElement(IDENTIFIER)('IHashingStrategy') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('K') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('K') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -760,16 +762,18 @@ JetFile: HashMap.jet PsiElement(IDENTIFIER)('IMap') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('K') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('K') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -914,10 +918,11 @@ JetFile: HashMap.jet PsiElement(IDENTIFIER)('IHashingStrategy') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('K') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('K') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -931,16 +936,18 @@ JetFile: HashMap.jet PsiElement(IDENTIFIER)('IMap') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('K') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('K') PsiElement(COMMA)(',') PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('V') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('V') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -971,10 +978,11 @@ JetFile: HashMap.jet PsiElement(IDENTIFIER)('JavaObjectHashingStrategy') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('K') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('K') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/examples/collections/IIterable.txt b/idea/testData/psi/examples/collections/IIterable.txt index bb35aec444b..ad43b694cb8 100644 --- a/idea/testData/psi/examples/collections/IIterable.txt +++ b/idea/testData/psi/examples/collections/IIterable.txt @@ -37,10 +37,11 @@ JetFile: IIterable.jet PsiElement(IDENTIFIER)('IIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/idea/testData/psi/examples/collections/IIterator.txt b/idea/testData/psi/examples/collections/IIterator.txt index 3ea60751d53..5f554760dca 100644 --- a/idea/testData/psi/examples/collections/IIterator.txt +++ b/idea/testData/psi/examples/collections/IIterator.txt @@ -67,13 +67,14 @@ JetFile: IIterator.jet PsiElement(IDENTIFIER)('MutableArray') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - MODIFIER_LIST - PsiElement(in)('in') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(in)('in') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -137,13 +138,14 @@ JetFile: IIterator.jet PsiElement(IDENTIFIER)('MutableArray') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - MODIFIER_LIST - PsiElement(in)('in') - PsiWhiteSpace(' ') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(in)('in') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/examples/collections/IList.txt b/idea/testData/psi/examples/collections/IList.txt index 02d6b981661..578fb647485 100644 --- a/idea/testData/psi/examples/collections/IList.txt +++ b/idea/testData/psi/examples/collections/IList.txt @@ -26,10 +26,11 @@ JetFile: IList.jet PsiElement(IDENTIFIER)('IIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/examples/collections/IMutableIterable.txt b/idea/testData/psi/examples/collections/IMutableIterable.txt index c98ef672e9d..8aa4d7722b3 100644 --- a/idea/testData/psi/examples/collections/IMutableIterable.txt +++ b/idea/testData/psi/examples/collections/IMutableIterable.txt @@ -26,10 +26,11 @@ JetFile: IMutableIterable.jet PsiElement(IDENTIFIER)('IIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -53,10 +54,11 @@ JetFile: IMutableIterable.jet PsiElement(IDENTIFIER)('IMutableIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/idea/testData/psi/examples/collections/IMutableIterator.txt b/idea/testData/psi/examples/collections/IMutableIterator.txt index c22cc89cb38..5befc2f8951 100644 --- a/idea/testData/psi/examples/collections/IMutableIterator.txt +++ b/idea/testData/psi/examples/collections/IMutableIterator.txt @@ -26,10 +26,11 @@ JetFile: IMutableIterator.jet PsiElement(IDENTIFIER)('IIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY diff --git a/idea/testData/psi/examples/collections/IMutableList.txt b/idea/testData/psi/examples/collections/IMutableList.txt index a880dac7c46..dfe68c13583 100644 --- a/idea/testData/psi/examples/collections/IMutableList.txt +++ b/idea/testData/psi/examples/collections/IMutableList.txt @@ -23,10 +23,11 @@ JetFile: IMutableList.jet PsiElement(IDENTIFIER)('IList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -37,10 +38,11 @@ JetFile: IMutableList.jet PsiElement(IDENTIFIER)('IMutableIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -157,10 +159,11 @@ JetFile: IMutableList.jet PsiElement(IDENTIFIER)('IMutableIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/idea/testData/psi/examples/collections/IMutableSet.txt b/idea/testData/psi/examples/collections/IMutableSet.txt index e97932ac75a..c92af547c96 100644 --- a/idea/testData/psi/examples/collections/IMutableSet.txt +++ b/idea/testData/psi/examples/collections/IMutableSet.txt @@ -23,10 +23,11 @@ JetFile: IMutableSet.jet PsiElement(IDENTIFIER)('ISet') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -37,10 +38,11 @@ JetFile: IMutableSet.jet PsiElement(IDENTIFIER)('IMutableIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY diff --git a/idea/testData/psi/examples/collections/ISet.txt b/idea/testData/psi/examples/collections/ISet.txt index feac701d875..8f77fe55c91 100644 --- a/idea/testData/psi/examples/collections/ISet.txt +++ b/idea/testData/psi/examples/collections/ISet.txt @@ -23,10 +23,11 @@ JetFile: ISet.jet PsiElement(IDENTIFIER)('IIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/examples/collections/LinkedList.txt b/idea/testData/psi/examples/collections/LinkedList.txt index ecd737bbd28..2caea468a99 100644 --- a/idea/testData/psi/examples/collections/LinkedList.txt +++ b/idea/testData/psi/examples/collections/LinkedList.txt @@ -20,10 +20,11 @@ JetFile: LinkedList.jet PsiElement(IDENTIFIER)('IMutableList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -882,10 +883,11 @@ JetFile: LinkedList.jet PsiElement(IDENTIFIER)('IMutableIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/idea/testData/psi/examples/collections/List.txt b/idea/testData/psi/examples/collections/List.txt index 12de230d722..1d578284de5 100644 --- a/idea/testData/psi/examples/collections/List.txt +++ b/idea/testData/psi/examples/collections/List.txt @@ -38,10 +38,11 @@ JetFile: List.jet PsiElement(IDENTIFIER)('IList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -62,10 +63,11 @@ JetFile: List.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Nothing') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Nothing') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') @@ -109,10 +111,11 @@ JetFile: List.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -126,10 +129,11 @@ JetFile: List.jet PsiElement(IDENTIFIER)('List') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') diff --git a/idea/testData/psi/examples/io/IOSamples.txt b/idea/testData/psi/examples/io/IOSamples.txt index f77e9bc822a..19e04d11407 100644 --- a/idea/testData/psi/examples/io/IOSamples.txt +++ b/idea/testData/psi/examples/io/IOSamples.txt @@ -137,10 +137,11 @@ JetFile: IOSamples.jet PsiElement(IDENTIFIER)('IIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -155,10 +156,11 @@ JetFile: IOSamples.jet PsiElement(IDENTIFIER)('IAdder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -213,10 +215,11 @@ JetFile: IOSamples.jet PsiElement(IDENTIFIER)('IIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Byte') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Byte') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -500,10 +503,11 @@ JetFile: IOSamples.jet PsiElement(IDENTIFIER)('IAdder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Byte') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Byte') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/examples/priorityqueues/BinaryHeap.txt b/idea/testData/psi/examples/priorityqueues/BinaryHeap.txt index 45527b533c2..2b1dc518afb 100644 --- a/idea/testData/psi/examples/priorityqueues/BinaryHeap.txt +++ b/idea/testData/psi/examples/priorityqueues/BinaryHeap.txt @@ -20,10 +20,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('IPriorityQueue') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY @@ -45,10 +46,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('IMutableList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n ') PROPERTY @@ -67,10 +69,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('Comparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n\n ') CONSTRUCTOR @@ -88,10 +91,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('IIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') @@ -106,10 +110,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('Comparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=') @@ -119,10 +124,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('naturalOrder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -230,10 +236,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('Comparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -315,10 +322,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('IComparable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace('\n ') @@ -337,10 +345,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('naturalOrder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') @@ -1199,10 +1208,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('IMutableList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('swap') @@ -1298,10 +1308,11 @@ JetFile: BinaryHeap.jet PsiElement(IDENTIFIER)('IList') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('lastIndex') diff --git a/idea/testData/psi/examples/priorityqueues/PriorityQueueAsPushPop.txt b/idea/testData/psi/examples/priorityqueues/PriorityQueueAsPushPop.txt index 5a5b068e868..b1478dbd492 100644 --- a/idea/testData/psi/examples/priorityqueues/PriorityQueueAsPushPop.txt +++ b/idea/testData/psi/examples/priorityqueues/PriorityQueueAsPushPop.txt @@ -24,10 +24,11 @@ JetFile: PriorityQueueAsPushPop.jet PsiElement(IDENTIFIER)('IPriorityQueue') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -41,10 +42,11 @@ JetFile: PriorityQueueAsPushPop.jet PsiElement(IDENTIFIER)('IPushPop') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY diff --git a/idea/testData/psi/examples/util/Comparison.txt b/idea/testData/psi/examples/util/Comparison.txt index e1775a985e4..1cf766c984d 100644 --- a/idea/testData/psi/examples/util/Comparison.txt +++ b/idea/testData/psi/examples/util/Comparison.txt @@ -60,10 +60,11 @@ JetFile: Comparison.jet PsiElement(IDENTIFIER)('Comparable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(GT)('>') VALUE_PARAMETER_LIST @@ -168,10 +169,11 @@ JetFile: Comparison.jet PsiElement(IDENTIFIER)('Comparable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Object') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Object') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiElement(DOT)('.') @@ -192,10 +194,11 @@ JetFile: Comparison.jet PsiElement(IDENTIFIER)('Comparable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('Object') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('Object') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace('\n\n') @@ -293,10 +296,11 @@ JetFile: Comparison.jet PsiElement(IDENTIFIER)('Comparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') @@ -308,10 +312,11 @@ JetFile: Comparison.jet PsiElement(IDENTIFIER)('MatchableComparison') TYPE_ARGUMENT_LIST PsiElement(LT)('<') - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('T') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(EQ)('=')