IDEA-65526 (warn on unsupported generic constructs)

This commit is contained in:
Roman Shevchenko
2011-12-09 20:41:18 +01:00
parent 1cf71272ce
commit 7b84081ab8
8 changed files with 95 additions and 57 deletions
@@ -23,8 +23,8 @@ PsiJavaFile:IllegalWildcard.java
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiExpressionStatement
PsiConditionalExpression:this.<?
PsiReferenceExpression:this.<
PsiMethodCallExpression:this.<?>foo()
PsiReferenceExpression:this.<?>foo
PsiThisExpression:this
PsiReferenceParameterList
<empty list>
@@ -32,24 +32,9 @@ PsiJavaFile:IllegalWildcard.java
PsiJavaToken:DOT('.')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiErrorElement:Identifier expected
<empty list>
PsiErrorElement:'>' or ',' expected.
<empty list>
PsiErrorElement:Identifier expected
<empty list>
PsiJavaToken:QUEST('?')
PsiErrorElement:Expression expected
<empty list>
PsiErrorElement:';' expected
<empty list>
PsiErrorElement:Unexpected token
PsiJavaToken:GT('>')
PsiExpressionStatement
PsiMethodCallExpression:foo()
PsiReferenceExpression:foo
PsiReferenceParameterList
<empty list>
PsiErrorElement:Unexpected wildcard
PsiJavaToken:QUEST('?')
PsiJavaToken:GT('>')
PsiIdentifier:foo('foo')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
@@ -0,0 +1,28 @@
PsiJavaFile:IllegalBound.java
PsiMethodCallExpression:C.<T extends S>foo()
PsiReferenceExpression:C.<T extends S>foo
PsiReferenceExpression:C
PsiReferenceParameterList
<empty list>
PsiIdentifier:C('C')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:T
PsiJavaCodeReferenceElement:T
PsiIdentifier:T('T')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:Unexpected bound
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:S
PsiIdentifier:S('S')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiIdentifier:foo('foo')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -1,6 +1,6 @@
PsiJavaFile:IllegalWildcard.java
PsiConditionalExpression:this.<?
PsiReferenceExpression:this.<
PsiMethodCallExpression:this.<?>foo()
PsiReferenceExpression:this.<?>foo
PsiThisExpression:this
PsiReferenceParameterList
<empty list>
@@ -8,17 +8,10 @@ PsiJavaFile:IllegalWildcard.java
PsiJavaToken:DOT('.')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiErrorElement:Identifier expected
<empty list>
PsiErrorElement:'>' or ',' expected.
<empty list>
PsiErrorElement:Identifier expected
<empty list>
PsiJavaToken:QUEST('?')
PsiErrorElement:Expression expected
<empty list>
PsiErrorElement:Unparsed tokens
PsiJavaToken:GT('>')
PsiIdentifier:foo('foo')
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiErrorElement:Unexpected wildcard
PsiJavaToken:QUEST('?')
PsiJavaToken:GT('>')
PsiIdentifier:foo('foo')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,8 @@
PsiJavaFile:TypeParams8.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiErrorElement:Unexpected wildcard
PsiJavaToken:QUEST('?')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:GT('>')