java: incorrect parsing of bounds in class files fixed

This commit is contained in:
Roman Shevchenko
2013-12-23 20:11:40 +04:00
parent 6d85c557b2
commit f45f27fd20
7 changed files with 44 additions and 13 deletions
@@ -0,0 +1,13 @@
// IntelliJ API Decompiler stub source generated from a class file
// Implementation of methods is not available
package pkg;
class Bounds {
Bounds() { /* compiled code */ }
public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(java.util.Collection<? extends T> ts) { /* compiled code */ }
public static <T> T max(java.util.Collection<? extends T> ts, java.util.Comparator<? super T> comparator) { /* compiled code */ }
}
@@ -0,0 +1,14 @@
package pkg;
import java.util.Collection;
import java.util.Comparator;
class Bounds {
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) {
return null;
}
public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp) {
return null;
}
}
@@ -1693,7 +1693,7 @@ PsiJavaFileStub [java.util]
PsiModifierListStub[mask=9]
PsiTypeParameterListStub
PsiTypeParameter[T]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Comparable<? super T>]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Object, java.lang.Comparable<? super T>]
PsiParameterListStub
PsiParameterStub[p1:java.util.List<? extends T>]
PsiModifierListStub[mask=0]
@@ -1704,7 +1704,7 @@ PsiJavaFileStub [java.util]
PsiModifierListStub[mask=10]
PsiTypeParameterListStub
PsiTypeParameter[T]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Comparable<? super T>]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Object, java.lang.Comparable<? super T>]
PsiParameterListStub
PsiParameterStub[p1:java.util.List<? extends T>]
PsiModifierListStub[mask=0]
@@ -1715,7 +1715,7 @@ PsiJavaFileStub [java.util]
PsiModifierListStub[mask=10]
PsiTypeParameterListStub
PsiTypeParameter[T]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Comparable<? super T>]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Object, java.lang.Comparable<? super T>]
PsiParameterListStub
PsiParameterStub[p1:java.util.List<? extends T>]
PsiModifierListStub[mask=0]
@@ -1843,7 +1843,7 @@ PsiJavaFileStub [java.util]
PsiModifierListStub[mask=9]
PsiTypeParameterListStub
PsiTypeParameter[T]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Comparable<? super T>]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Object, java.lang.Comparable<? super T>]
PsiParameterListStub
PsiParameterStub[p1:java.util.Collection<? extends T>]
PsiModifierListStub[mask=0]
@@ -1863,7 +1863,7 @@ PsiJavaFileStub [java.util]
PsiModifierListStub[mask=9]
PsiTypeParameterListStub
PsiTypeParameter[T]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Comparable<? super T>]
PsiRefListStub[EXTENDS_BOUNDS_LIST:java.lang.Object, java.lang.Comparable<? super T>]
PsiParameterListStub
PsiParameterStub[p1:java.util.Collection<? extends T>]
PsiModifierListStub[mask=0]