EA-62157 - IAE: PsiUtil.getLanguageLevel

process further when package-info doesn't correspond any package
This commit is contained in:
Anna Kozlova
2014-10-28 11:28:32 +01:00
parent 3699912a7a
commit f05cd24dfe
4 changed files with 9 additions and 2 deletions

View File

@@ -120,7 +120,7 @@ class SeeDocTagInfo implements JavadocTagInfo {
@Override
public boolean isValidInContext(PsiElement element) {
if (myInline && myName.equals(LINKPLAIN_TAG))
if (myInline && myName.equals(LINKPLAIN_TAG) && element != null)
return PsiUtil.getLanguageLevel(element).compareTo(LanguageLevel.JDK_1_4) >= 0;
return true;

View File

@@ -57,7 +57,7 @@ class SimpleDocTagInfo implements JavadocTagInfo {
@Override
public boolean isValidInContext(PsiElement element) {
if (PsiUtil.getLanguageLevel(element).compareTo(myLanguageLevel) < 0) {
if (element != null && PsiUtil.getLanguageLevel(element).compareTo(myLanguageLevel) < 0) {
return false;
}

View File

@@ -0,0 +1,6 @@
/**
* {@linkplain #<error descr="Cannot resolve symbol 'foo'">foo</error>}
* @see <error descr="Cannot resolve symbol 'List'">List</error>
* @author #mycompanyname
*/
package mycompanypackagename;

View File

@@ -32,6 +32,7 @@ public class JavadocResolveTest extends DaemonAnalyzerTestCase {
public void testSee2() throws Exception { doTest(); }
public void testSee3() throws Exception { doTest(); }
public void testPackageInfo() throws Exception { doTest(BASE_PATH + "/pkg/package-info.java", BASE_PATH, false, false); }
public void testBrokenPackageInfo() throws Exception { doTest(BASE_PATH + "/pkg1/package-info.java", BASE_PATH, false, false); }
private void doTest() throws Exception {
doTest(BASE_PATH + "/pkg/" + getTestName(false) + ".java", BASE_PATH, false, false);