From 7387ee525bb21cf5ff48d226d02b217910e4671a Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Tue, 13 Jun 2017 15:07:18 +0200 Subject: [PATCH] update tests and testdata to reflect newer mock jdk 1.7 --- .../PreferClassToItsConstants.java | 14 +- .../advHighlighting7/PolymorphicTypeCast.java | 6 +- ...JdkClassWhenExternalDocIsNotAvailable.html | 2 +- ...ssWithReferencesToClassesFromJavaLang.html | 3 +- ...ntationForUncheckedExceptionsInSupers.html | 10 +- .../testData/psi/cls/stubBuilder/TimeUnit.txt | 65 +- .../psi/cls/stubBuilder/UtilCollections.txt | 2618 ++++++++--------- .../psi/cls/stubBuilder/UtilHashMap.txt | 361 ++- .../copyClass/libraryClass/Bar.expected.java | 1188 ++++++-- .../NormalCompletionOrderingTest.groovy | 20 +- .../completion/SmartTypeCompletionTest.java | 22 +- .../BytecodeAnalysisIntegrationTest.java | 28 +- .../projectView/JavaTreeStructureTest.java | 38 +- .../after/Test.items | 2 +- .../after/test.java | 2 +- .../before/test.java | 2 +- .../UnnecessarySuperfluousBoxing.java | 2 +- ...ayBeAnnotatedFunctionalInspectionTest.java | 26 +- .../UnnecessaryBoxingInspectionTest.java | 7 + .../MissortedModifiersInspectionTest.java | 25 +- ...eParameterExtendsObjectInspectionTest.java | 27 +- .../ConvertInterfaceToClassTest.java | 26 +- .../codeInsight/ExtensionsHighlighting.xml | 2 +- 23 files changed, 2671 insertions(+), 1825 deletions(-) diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferClassToItsConstants.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferClassToItsConstants.java index 75ee87ce6fac..18d8e73a70d5 100644 --- a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferClassToItsConstants.java +++ b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferClassToItsConstants.java @@ -1,8 +1,16 @@ -import java.util.Calendar; - class Util { void foo() { - Calendar.getInstance().get(Calex) + MyCalendar.getInstance().get(MyCalex) } +} + +class MyCalendar { + static MyCalendar getInstance() {} + + int get(int field) {} + + public static final int FIELD_COUNT; + public static final int AM; + public static final int PM; } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/PolymorphicTypeCast.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/PolymorphicTypeCast.java index 8ba3ea4f8037..64b0c156bc34 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/PolymorphicTypeCast.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/PolymorphicTypeCast.java @@ -42,9 +42,9 @@ class C { mt = MethodType.methodType(java.util.List.class, Object[].class); mh = lookup.findStatic(java.util.Arrays.class, "asList", mt); assert(mh.isVarargsCollector()); - x = mh.invokeGeneric("one", "two"); + x = mh.invoke("one", "two"); -// invokeGeneric(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object; +// invoke(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object; assert(x.equals(java.util.Arrays.asList("one","two"))); // mt is (Object,Object,Object)Object @@ -68,7 +68,7 @@ class C { // invokeExact(Ljava/io/PrintStream;Ljava/lang/String;)V MethodHandle mh0 = lookup.findVirtual(String.class, "length", MethodType.methodType(int.class)); - MethodHandle mh1 = MethodHandles.convertArguments(mh0, MethodType.methodType(Integer.class, String.class)); + MethodHandle mh1 = mh0.asType(MethodType.methodType(Integer.class, String.class)); System.out.println((Integer) mh1.invokeExact("daddy")); } diff --git a/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWhenExternalDocIsNotAvailable.html b/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWhenExternalDocIsNotAvailable.html index e98e383bb3c7..c0f68bb257b3 100644 --- a/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWhenExternalDocIsNotAvailable.html +++ b/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWhenExternalDocIsNotAvailable.html @@ -29,7 +29,7 @@ implements java.io.Serializab individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to - lowercase. Case mapping is based on the Unicode Standard version + lowercase. Case mapping is based on the Unicode Standard version specified by the Character class.

The Java language provides special support for the string diff --git a/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWithReferencesToClassesFromJavaLang.html b/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWithReferencesToClassesFromJavaLang.html index fe834b3fcff2..e1341b1e5ed8 100644 --- a/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWithReferencesToClassesFromJavaLang.html +++ b/java/java-tests/testData/codeInsight/javadocIG/documentationForJdkClassWithReferencesToClassesFromJavaLang.html @@ -5,10 +5,9 @@ public abstract boolean contains(org.jetbrains.annotations.Contract(pure = true) - Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)). -

Overrides:
contains in interface Collection
Parameters:
o - element whose presence in this list is to be tested.
Returns:
true if this list contains the specified element.
Throws:
ClassCastException - if the type of the specified element is incompatible with this list (optional).
NullPointerException - if the specified element is null and this list does not support null elements (optional).
\ No newline at end of file +
Overrides:
contains in interface Collection
Parameters:
o - element whose presence in this list is to be tested
Returns:
true if this list contains the specified element
Throws:
ClassCastException - if the type of the specified element is incompatible with this list (optional)
NullPointerException - if the specified element is null and this list does not permit null elements (optional)
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/javadocIG/documentationForUncheckedExceptionsInSupers.html b/java/java-tests/testData/codeInsight/javadocIG/documentationForUncheckedExceptionsInSupers.html index 41ea9bf47d21..2b40f15f949a 100644 --- a/java/java-tests/testData/codeInsight/javadocIG/documentationForUncheckedExceptionsInSupers.html +++ b/java/java-tests/testData/codeInsight/javadocIG/documentationForUncheckedExceptionsInSupers.html @@ -5,9 +5,9 @@ boolean contains(Obje
  • @org.jetbrains.annotations.Contract(pure = true)
  • Description copied from interface: java.util.Collection
    - Returns true if this collection contains the specified - element. More formally, returns true if and only if this - collection contains at least one element e such that - (o==null ? e==null : o.equals(e)). + Returns true if this collection contains the specified element. + More formally, returns true if and only if this collection + contains at least one element e such that + (o==null ? e==null : o.equals(e)). -
    Overrides:
    contains in interface Collection
    contains in interface I
    Parameters:
    o - element whose presence in this collection is to be tested.
    Returns:
    true if this collection contains the specified element
    Throws:
    ClassCastException - if the type of the specified element is incompatible with this collection (optional).
    NullPointerException - if the specified element is null and this collection does not support null elements (optional).
    \ No newline at end of file +
    Overrides:
    contains in interface Collection
    contains in interface I
    Parameters:
    o - element whose presence in this collection is to be tested
    Returns:
    true if this collection contains the specified element
    Throws:
    ClassCastException - if the type of the specified element is incompatible with this collection (optional)
    NullPointerException - if the specified element is null and this collection does not permit null elements (optional)
    \ No newline at end of file diff --git a/java/java-tests/testData/psi/cls/stubBuilder/TimeUnit.txt b/java/java-tests/testData/psi/cls/stubBuilder/TimeUnit.txt index 800f747bb1c5..4872f919f31c 100644 --- a/java/java-tests/testData/psi/cls/stubBuilder/TimeUnit.txt +++ b/java/java-tests/testData/psi/cls/stubBuilder/TimeUnit.txt @@ -1,6 +1,6 @@ PsiJavaFileStub [java.util.concurrent] PsiClassStub[enum name=TimeUnit fqn=java.util.concurrent.TimeUnit] - PsiModifierListStub[mask=17] + PsiModifierListStub[mask=1025] PsiTypeParameterListStub PsiRefListStub[EXTENDS_LIST:] PsiRefListStub[IMPLEMENTS_LIST:] @@ -12,27 +12,43 @@ PsiJavaFileStub [java.util.concurrent] PsiModifierListStub[mask=25] PsiFieldStub[enumconst SECONDS:java.util.concurrent.TimeUnit] PsiModifierListStub[mask=25] - PsiFieldStub[index:int] - PsiModifierListStub[mask=18] - PsiFieldStub[multipliers:int[]] - PsiModifierListStub[mask=26] - PsiFieldStub[overflows:long[]] - PsiModifierListStub[mask=26] + PsiFieldStub[enumconst MINUTES:java.util.concurrent.TimeUnit] + PsiModifierListStub[mask=25] + PsiFieldStub[enumconst HOURS:java.util.concurrent.TimeUnit] + PsiModifierListStub[mask=25] + PsiFieldStub[enumconst DAYS:java.util.concurrent.TimeUnit] + PsiModifierListStub[mask=25] + PsiFieldStub[C0:long=1L] + PsiModifierListStub[mask=4120] + PsiFieldStub[C1:long=1000L] + PsiModifierListStub[mask=4120] + PsiFieldStub[C2:long=1000000L] + PsiModifierListStub[mask=4120] + PsiFieldStub[C3:long=1000000000L] + PsiModifierListStub[mask=4120] + PsiFieldStub[C4:long=60000000000L] + PsiModifierListStub[mask=4120] + PsiFieldStub[C5:long=3600000000000L] + PsiModifierListStub[mask=4120] + PsiFieldStub[C6:long=86400000000000L] + PsiModifierListStub[mask=4120] + PsiFieldStub[MAX:long=9223372036854775807L] + PsiModifierListStub[mask=4120] PsiMethodStub[cons TimeUnit:void] PsiModifierListStub[mask=2] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[doConvert:long] - PsiModifierListStub[mask=10] + PsiMethodStub[x:long] + PsiModifierListStub[mask=4104] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:int] + PsiParameterStub[p1:long] PsiModifierListStub[mask=0] PsiParameterStub[p2:long] PsiModifierListStub[mask=0] + PsiParameterStub[p3:long] + PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[convert:long] PsiModifierListStub[mask=1] @@ -71,8 +87,29 @@ PsiJavaFileStub [java.util.concurrent] PsiParameterStub[p1:long] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toMinutes:long] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:long] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toHours:long] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:long] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toDays:long] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:long] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] PsiMethodStub[excessNanos:int] - PsiModifierListStub[mask=2] + PsiModifierListStub[mask=5120] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:long] @@ -104,4 +141,4 @@ PsiJavaFileStub [java.util.concurrent] PsiParameterListStub PsiParameterStub[p1:long] PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:java.lang.InterruptedException] + PsiRefListStub[THROWS_LIST:java.lang.InterruptedException] \ No newline at end of file diff --git a/java/java-tests/testData/psi/cls/stubBuilder/UtilCollections.txt b/java/java-tests/testData/psi/cls/stubBuilder/UtilCollections.txt index d64c31b56472..9b46a43bc974 100644 --- a/java/java-tests/testData/psi/cls/stubBuilder/UtilCollections.txt +++ b/java/java-tests/testData/psi/cls/stubBuilder/UtilCollections.txt @@ -130,43 +130,30 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.util.Collection] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=CheckedCollection fqn=java.util.Collections.CheckedCollection] - PsiModifierListStub[mask=4104] + PsiClassStub[name=SetFromMap fqn=java.util.Collections.SetFromMap] + PsiModifierListStub[mask=10] PsiTypeParameterListStub PsiTypeParameter[E] PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Collection, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=1578914078182001775L] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Set, java.io.Serializable] + PsiFieldStub[m:java.util.Map] + PsiModifierListStub[mask=18] + PsiFieldStub[s:java.util.Set] + PsiModifierListStub[mask=130] + PsiFieldStub[serialVersionUID:long=2454657854757543876L] PsiModifierListStub[mask=26] - PsiFieldStub[c:java.util.Collection] - PsiModifierListStub[mask=4112] - PsiFieldStub[type:java.lang.Class] - PsiModifierListStub[mask=4112] - PsiFieldStub[zeroLengthElementArray:E[]] - PsiModifierListStub[mask=2] - PsiMethodStub[typeCheck:void] + PsiMethodStub[cons SetFromMap:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] + PsiParameterStub[p1:java.util.Map] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[badElementMsg:java.lang.String] - PsiModifierListStub[mask=2] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[cons CheckedCollection:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Class] - PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[size:int] PsiModifierListStub[mask=1] @@ -185,6 +172,25 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[add:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] PsiMethodStub[toArray:java.lang.Object[]] PsiModifierListStub[mask=1] PsiTypeParameterListStub @@ -204,18 +210,18 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:boolean] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[equals:boolean] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[clear:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] PsiMethodStub[containsAll:boolean] PsiModifierListStub[mask=1] PsiTypeParameterListStub @@ -237,55 +243,38 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.util.Collection] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[add:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[zeroLengthElementArray:E[]] + PsiMethodStub[readObject:void] PsiModifierListStub[mask=2] PsiTypeParameterListStub PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[checkedCopyOf:java.util.Collection] + PsiParameterStub[p1:java.io.ObjectInputStream] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:java.io.IOException, java.lang.ClassNotFoundException] + PsiClassStub[name=ReverseComparator2 fqn=java.util.Collections.ReverseComparator2] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[T] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Comparator, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=4374092139857L] + PsiModifierListStub[mask=26] + PsiFieldStub[cmp:java.util.Comparator] + PsiModifierListStub[mask=4112] + PsiMethodStub[cons ReverseComparator2:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] + PsiParameterStub[p1:java.util.Comparator] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[addAll:boolean] + PsiMethodStub[compare:int] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] + PsiParameterStub[p1:T] PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=CheckedList fqn=java.util.Collections.CheckedList] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.CheckedCollection] - PsiRefListStub[IMPLEMENTS_LIST:java.util.List] - PsiFieldStub[serialVersionUID:long=65247728283967356L] - PsiModifierListStub[mask=26] - PsiFieldStub[list:java.util.List] - PsiModifierListStub[mask=4112] - PsiMethodStub[cons CheckedList:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.List] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Class] + PsiParameterStub[p2:T] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[equals:boolean] @@ -300,18 +289,66 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:E] + PsiClassStub[name=ReverseComparator fqn=java.util.Collections.ReverseComparator] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Comparator>, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=7207038068494060240L] + PsiModifierListStub[mask=26] + PsiFieldStub[REVERSE_ORDER:java.util.Collections.ReverseComparator] + PsiModifierListStub[mask=4120] + PsiMethodStub[cons ReverseComparator:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[compare:int] PsiModifierListStub[mask=1] PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Comparable] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Comparable] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[readResolve:java.lang.Object] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=CopiesList fqn=java.util.Collections.CopiesList] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractList] + PsiRefListStub[IMPLEMENTS_LIST:java.util.RandomAccess, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=2739099268398711800L] + PsiModifierListStub[mask=26] + PsiFieldStub[n:int] + PsiModifierListStub[mask=4112] + PsiFieldStub[element:E] + PsiModifierListStub[mask=4112] + PsiMethodStub[cons CopiesList:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:int] PsiModifierListStub[mask=0] + PsiParameterStub[p2:E] + PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:E] + PsiMethodStub[size:int] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:int] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[indexOf:int] @@ -328,43 +365,25 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[set:E] + PsiMethodStub[get:E] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:int] PsiModifierListStub[mask=0] - PsiParameterStub[p2:E] - PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[add:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[addAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[listIterator:java.util.ListIterator] + PsiMethodStub[toArray:java.lang.Object[]] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[listIterator:java.util.ListIterator] + PsiMethodStub[toArray:T[]] PsiModifierListStub[mask=1] PsiTypeParameterListStub + PsiTypeParameter[T] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] PsiParameterListStub - PsiParameterStub[p1:int] + PsiParameterStub[p1:T[]] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[subList:java.util.List] @@ -376,6 +395,549 @@ PsiJavaFileStub [java.util] PsiParameterStub[p2:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=SingletonMap fqn=java.util.Collections.SingletonMap] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[K] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiTypeParameter[V] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractMap] + PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] + PsiFieldStub[serialVersionUID:long=-6979724477215052911L] + PsiModifierListStub[mask=26] + PsiFieldStub[k:K] + PsiModifierListStub[mask=18] + PsiFieldStub[v:V] + PsiModifierListStub[mask=18] + PsiFieldStub[keySet:java.util.Set] + PsiModifierListStub[mask=130] + PsiFieldStub[entrySet:java.util.Set>] + PsiModifierListStub[mask=130] + PsiFieldStub[values:java.util.Collection] + PsiModifierListStub[mask=130] + PsiMethodStub[cons SingletonMap:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:V] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[isEmpty:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsKey:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsValue:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[get:V] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[keySet:java.util.Set] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[entrySet:java.util.Set>] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[values:java.util.Collection] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=SingletonList fqn=java.util.Collections.SingletonList] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractList] + PsiRefListStub[IMPLEMENTS_LIST:java.util.RandomAccess, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=3093736618740652951L] + PsiModifierListStub[mask=26] + PsiFieldStub[element:E] + PsiModifierListStub[mask=18] + PsiMethodStub[cons SingletonList:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[get:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=SingletonSet fqn=java.util.Collections.SingletonSet] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] + PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] + PsiFieldStub[serialVersionUID:long=3193687207550431679L] + PsiModifierListStub[mask=26] + PsiFieldStub[element:E] + PsiModifierListStub[mask=18] + PsiMethodStub[cons SingletonSet:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EmptyMap fqn=java.util.Collections.EmptyMap] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[K] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiTypeParameter[V] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractMap] + PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] + PsiFieldStub[serialVersionUID:long=6428348081105594320L] + PsiModifierListStub[mask=26] + PsiMethodStub[cons EmptyMap:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[isEmpty:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsKey:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsValue:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[get:V] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[keySet:java.util.Set] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[values:java.util.Collection] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[entrySet:java.util.Set>] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[equals:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[readResolve:java.lang.Object] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EmptyList fqn=java.util.Collections.EmptyList] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractList] + PsiRefListStub[IMPLEMENTS_LIST:java.util.RandomAccess, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=8842843931221139166L] + PsiModifierListStub[mask=26] + PsiMethodStub[cons EmptyList:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[listIterator:java.util.ListIterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[isEmpty:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:java.lang.Object[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:T[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiTypeParameter[T] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiParameterListStub + PsiParameterStub[p1:T[]] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[get:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[equals:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[readResolve:java.lang.Object] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EmptySet fqn=java.util.Collections.EmptySet] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] + PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] + PsiFieldStub[serialVersionUID:long=1582296315990362920L] + PsiModifierListStub[mask=26] + PsiMethodStub[cons EmptySet:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[isEmpty:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:java.lang.Object[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:T[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiTypeParameter[T] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiParameterListStub + PsiParameterStub[p1:T[]] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[readResolve:java.lang.Object] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EmptyEnumeration fqn=java.util.Collections.EmptyEnumeration] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Enumeration] + PsiFieldStub[EMPTY_ENUMERATION:java.util.Collections.EmptyEnumeration] + PsiModifierListStub[mask=4120] + PsiMethodStub[cons EmptyEnumeration:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hasMoreElements:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[nextElement:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EmptyListIterator fqn=java.util.Collections.EmptyListIterator] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.EmptyIterator] + PsiRefListStub[IMPLEMENTS_LIST:java.util.ListIterator] + PsiFieldStub[EMPTY_ITERATOR:java.util.Collections.EmptyListIterator] + PsiModifierListStub[mask=4120] + PsiMethodStub[cons EmptyListIterator:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hasPrevious:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[previous:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[nextIndex:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[previousIndex:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[set:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[add:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EmptyIterator fqn=java.util.Collections.EmptyIterator] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Iterator] + PsiFieldStub[EMPTY_ITERATOR:java.util.Collections.EmptyIterator] + PsiModifierListStub[mask=4120] + PsiMethodStub[cons EmptyIterator:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hasNext:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[next:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=CheckedSortedMap fqn=java.util.Collections.CheckedSortedMap] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[K] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiTypeParameter[V] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.CheckedMap] + PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedMap, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=1599671320688067438L] + PsiModifierListStub[mask=26] + PsiFieldStub[sm:java.util.SortedMap] + PsiModifierListStub[mask=18] + PsiMethodStub[cons CheckedSortedMap:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.SortedMap] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Class] + PsiModifierListStub[mask=0] + PsiParameterStub[p3:java.lang.Class] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[comparator:java.util.Comparator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[firstKey:K] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[lastKey:K] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[subMap:java.util.SortedMap] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:K] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[headMap:java.util.SortedMap] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[tailMap:java.util.SortedMap] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] PsiClassStub[name=CheckedMap fqn=java.util.Collections.CheckedMap] PsiModifierListStub[mask=10] PsiTypeParameterListStub @@ -758,20 +1320,22 @@ PsiJavaFileStub [java.util] PsiParameterStub[p2:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=CheckedSet fqn=java.util.Collections.CheckedSet] + PsiClassStub[name=CheckedList fqn=java.util.Collections.CheckedList] PsiModifierListStub[mask=4104] PsiTypeParameterListStub PsiTypeParameter[E] PsiRefListStub[EXTENDS_BOUNDS_LIST:] PsiRefListStub[EXTENDS_LIST:java.util.Collections.CheckedCollection] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Set, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=4694047833775013803L] + PsiRefListStub[IMPLEMENTS_LIST:java.util.List] + PsiFieldStub[serialVersionUID:long=65247728283967356L] PsiModifierListStub[mask=26] - PsiMethodStub[cons CheckedSet:void] + PsiFieldStub[list:java.util.List] + PsiModifierListStub[mask=4112] + PsiMethodStub[cons CheckedList:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.Set] + PsiParameterStub[p1:java.util.List] PsiModifierListStub[mask=0] PsiParameterStub[p2:java.lang.Class] PsiModifierListStub[mask=0] @@ -788,66 +1352,80 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=CheckedSortedMap fqn=java.util.Collections.CheckedSortedMap] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[K] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiTypeParameter[V] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.CheckedMap] - PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedMap, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=1599671320688067438L] - PsiModifierListStub[mask=26] - PsiFieldStub[sm:java.util.SortedMap] - PsiModifierListStub[mask=18] - PsiMethodStub[cons CheckedSortedMap:void] - PsiModifierListStub[mask=4096] + PsiMethodStub[get:E] + PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.SortedMap] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Class] - PsiModifierListStub[mask=0] - PsiParameterStub[p3:java.lang.Class] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[comparator:java.util.Comparator] + PsiMethodStub[remove:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[indexOf:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[lastIndexOf:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[set:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[add:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[addAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[listIterator:java.util.ListIterator] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[firstKey:K] + PsiMethodStub[listIterator:java.util.ListIterator] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[lastKey:K] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[subMap:java.util.SortedMap] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:K] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[headMap:java.util.SortedMap] + PsiMethodStub[subList:java.util.List] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:K] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[tailMap:java.util.SortedMap] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] + PsiParameterStub[p2:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiClassStub[name=CheckedSortedSet fqn=java.util.Collections.CheckedSortedSet] @@ -908,508 +1486,73 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:E] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=CopiesList fqn=java.util.Collections.CopiesList] - PsiModifierListStub[mask=10] + PsiClassStub[name=CheckedSet fqn=java.util.Collections.CheckedSet] + PsiModifierListStub[mask=4104] PsiTypeParameterListStub PsiTypeParameter[E] PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractList] - PsiRefListStub[IMPLEMENTS_LIST:java.util.RandomAccess, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=2739099268398711800L] - PsiModifierListStub[mask=26] - PsiFieldStub[n:int] - PsiModifierListStub[mask=4112] - PsiFieldStub[element:E] - PsiModifierListStub[mask=4112] - PsiMethodStub[cons CopiesList:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[indexOf:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[lastIndexOf:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:java.lang.Object[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:T[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiParameterListStub - PsiParameterStub[p1:T[]] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[subList:java.util.List] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=EmptyEnumeration fqn=java.util.Collections.EmptyEnumeration] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Enumeration] - PsiFieldStub[EMPTY_ENUMERATION:java.util.Collections.EmptyEnumeration] - PsiModifierListStub[mask=4120] - PsiMethodStub[cons EmptyEnumeration:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hasMoreElements:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[nextElement:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=EmptyIterator fqn=java.util.Collections.EmptyIterator] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Iterator] - PsiFieldStub[EMPTY_ITERATOR:java.util.Collections.EmptyIterator] - PsiModifierListStub[mask=4120] - PsiMethodStub[cons EmptyIterator:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hasNext:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[next:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=EmptyList fqn=java.util.Collections.EmptyList] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractList] - PsiRefListStub[IMPLEMENTS_LIST:java.util.RandomAccess, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=8842843931221139166L] - PsiModifierListStub[mask=26] - PsiMethodStub[cons EmptyList:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[listIterator:java.util.ListIterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[isEmpty:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:java.lang.Object[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:T[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiParameterListStub - PsiParameterStub[p1:T[]] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[equals:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hashCode:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[readResolve:java.lang.Object] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=EmptyListIterator fqn=java.util.Collections.EmptyListIterator] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.EmptyIterator] - PsiRefListStub[IMPLEMENTS_LIST:java.util.ListIterator] - PsiFieldStub[EMPTY_ITERATOR:java.util.Collections.EmptyListIterator] - PsiModifierListStub[mask=4120] - PsiMethodStub[cons EmptyListIterator:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hasPrevious:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[previous:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[nextIndex:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[previousIndex:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[set:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[add:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=EmptyMap fqn=java.util.Collections.EmptyMap] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[K] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiTypeParameter[V] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractMap] - PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] - PsiFieldStub[serialVersionUID:long=6428348081105594320L] - PsiModifierListStub[mask=26] - PsiMethodStub[cons EmptyMap:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[isEmpty:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsKey:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsValue:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:V] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[keySet:java.util.Set] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[values:java.util.Collection] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[entrySet:java.util.Set>] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[equals:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hashCode:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[readResolve:java.lang.Object] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=EmptySet fqn=java.util.Collections.EmptySet] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] - PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] - PsiFieldStub[serialVersionUID:long=1582296315990362920L] - PsiModifierListStub[mask=26] - PsiMethodStub[cons EmptySet:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[isEmpty:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:java.lang.Object[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:T[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiParameterListStub - PsiParameterStub[p1:T[]] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[readResolve:java.lang.Object] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=ReverseComparator fqn=java.util.Collections.ReverseComparator] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Comparator>, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=7207038068494060240L] - PsiModifierListStub[mask=26] - PsiFieldStub[REVERSE_ORDER:java.util.Collections.ReverseComparator] - PsiModifierListStub[mask=4120] - PsiMethodStub[cons ReverseComparator:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[compare:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Comparable] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Comparable] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[readResolve:java.lang.Object] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=ReverseComparator2 fqn=java.util.Collections.ReverseComparator2] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Comparator, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=4374092139857L] - PsiModifierListStub[mask=26] - PsiFieldStub[cmp:java.util.Comparator] - PsiModifierListStub[mask=4112] - PsiMethodStub[cons ReverseComparator2:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Comparator] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[compare:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:T] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:T] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[equals:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hashCode:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[interface name=SelfComparable fqn=java.util.Collections.SelfComparable] - PsiModifierListStub[mask=1034] - PsiTypeParameterListStub - PsiRefListStub[EXTENDS_LIST:java.lang.Comparable] - PsiRefListStub[IMPLEMENTS_LIST:] - PsiClassStub[name=SetFromMap fqn=java.util.Collections.SetFromMap] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.CheckedCollection] PsiRefListStub[IMPLEMENTS_LIST:java.util.Set, java.io.Serializable] - PsiFieldStub[m:java.util.Map] - PsiModifierListStub[mask=18] - PsiFieldStub[s:java.util.Set] - PsiModifierListStub[mask=130] - PsiFieldStub[serialVersionUID:long=2454657854757543876L] + PsiFieldStub[serialVersionUID:long=4694047833775013803L] PsiModifierListStub[mask=26] - PsiMethodStub[cons SetFromMap:void] + PsiMethodStub[cons CheckedSet:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.Map] + PsiParameterStub[p1:java.util.Set] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Class] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[clear:void] + PsiMethodStub[equals:boolean] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=CheckedCollection fqn=java.util.Collections.CheckedCollection] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Collection, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=1578914078182001775L] + PsiModifierListStub[mask=26] + PsiFieldStub[c:java.util.Collection] + PsiModifierListStub[mask=4112] + PsiFieldStub[type:java.lang.Class] + PsiModifierListStub[mask=4112] + PsiFieldStub[zeroLengthElementArray:E[]] + PsiModifierListStub[mask=2] + PsiMethodStub[typeCheck:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[badElementMsg:java.lang.String] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[cons CheckedCollection:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Class] + PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[size:int] PsiModifierListStub[mask=1] @@ -1428,25 +1571,6 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[add:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] PsiMethodStub[toArray:java.lang.Object[]] PsiModifierListStub[mask=1] PsiTypeParameterListStub @@ -1466,18 +1590,18 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hashCode:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[equals:boolean] + PsiMethodStub[remove:boolean] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] PsiMethodStub[containsAll:boolean] PsiModifierListStub[mask=1] PsiTypeParameterListStub @@ -1499,226 +1623,6 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.util.Collection] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[readObject:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.io.ObjectInputStream] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:java.io.IOException, java.lang.ClassNotFoundException] - PsiClassStub[name=SingletonList fqn=java.util.Collections.SingletonList] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractList] - PsiRefListStub[IMPLEMENTS_LIST:java.util.RandomAccess, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=3093736618740652951L] - PsiModifierListStub[mask=26] - PsiFieldStub[element:E] - PsiModifierListStub[mask=18] - PsiMethodStub[cons SingletonList:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=SingletonMap fqn=java.util.Collections.SingletonMap] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[K] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiTypeParameter[V] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractMap] - PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] - PsiFieldStub[serialVersionUID:long=-6979724477215052911L] - PsiModifierListStub[mask=26] - PsiFieldStub[k:K] - PsiModifierListStub[mask=18] - PsiFieldStub[v:V] - PsiModifierListStub[mask=18] - PsiFieldStub[keySet:java.util.Set] - PsiModifierListStub[mask=130] - PsiFieldStub[entrySet:java.util.Set>] - PsiModifierListStub[mask=130] - PsiFieldStub[values:java.util.Collection] - PsiModifierListStub[mask=130] - PsiMethodStub[cons SingletonMap:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:V] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[isEmpty:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsKey:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsValue:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:V] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[keySet:java.util.Set] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[entrySet:java.util.Set>] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[values:java.util.Collection] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=SingletonSet fqn=java.util.Collections.SingletonSet] - PsiModifierListStub[mask=10] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] - PsiRefListStub[IMPLEMENTS_LIST:java.io.Serializable] - PsiFieldStub[serialVersionUID:long=3193687207550431679L] - PsiModifierListStub[mask=26] - PsiFieldStub[element:E] - PsiModifierListStub[mask=18] - PsiMethodStub[cons SingletonSet:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=SynchronizedCollection fqn=java.util.Collections.SynchronizedCollection] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Collection, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=3053995032091335093L] - PsiModifierListStub[mask=26] - PsiFieldStub[c:java.util.Collection] - PsiModifierListStub[mask=4112] - PsiFieldStub[mutex:java.lang.Object] - PsiModifierListStub[mask=4112] - PsiMethodStub[cons SynchronizedCollection:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[cons SynchronizedCollection:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[isEmpty:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:java.lang.Object[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:T[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiParameterListStub - PsiParameterStub[p1:T[]] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] PsiMethodStub[iterator:java.util.Iterator] PsiModifierListStub[mask=1] PsiTypeParameterListStub @@ -1731,18 +1635,16 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:E] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:boolean] - PsiModifierListStub[mask=1] + PsiMethodStub[zeroLengthElementArray:E[]] + PsiModifierListStub[mask=2] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsAll:boolean] - PsiModifierListStub[mask=1] + PsiMethodStub[checkedCopyOf:java.util.Collection] + PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] + PsiParameterStub[p1:java.util.Collection] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[addAll:boolean] @@ -1752,155 +1654,71 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.util.Collection] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[removeAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[retainAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[clear:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toString:java.lang.String] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[writeObject:void] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.io.ObjectOutputStream] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:java.io.IOException] - PsiClassStub[name=SynchronizedList fqn=java.util.Collections.SynchronizedList] + PsiClassStub[name=SynchronizedSortedMap fqn=java.util.Collections.SynchronizedSortedMap] PsiModifierListStub[mask=4104] PsiTypeParameterListStub - PsiTypeParameter[E] + PsiTypeParameter[K] PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedCollection] - PsiRefListStub[IMPLEMENTS_LIST:java.util.List] - PsiFieldStub[serialVersionUID:long=-7754090372962971524L] + PsiTypeParameter[V] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedMap] + PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedMap] + PsiFieldStub[serialVersionUID:long=-8798146769416483793L] PsiModifierListStub[mask=26] - PsiFieldStub[list:java.util.List] - PsiModifierListStub[mask=4112] - PsiMethodStub[cons SynchronizedList:void] + PsiFieldStub[sm:java.util.SortedMap] + PsiModifierListStub[mask=18] + PsiMethodStub[cons SynchronizedSortedMap:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.List] + PsiParameterStub[p1:java.util.SortedMap] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[cons SynchronizedList:void] + PsiMethodStub[cons SynchronizedSortedMap:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.List] + PsiParameterStub[p1:java.util.SortedMap] PsiModifierListStub[mask=0] PsiParameterStub[p2:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[equals:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hashCode:int] + PsiMethodStub[comparator:java.util.Comparator] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[get:E] + PsiMethodStub[subMap:java.util.SortedMap] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:int] + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:K] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[set:E] + PsiMethodStub[headMap:java.util.SortedMap] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:E] + PsiParameterStub[p1:K] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[add:void] + PsiMethodStub[tailMap:java.util.SortedMap] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:E] + PsiParameterStub[p1:K] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[indexOf:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[lastIndexOf:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[addAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[listIterator:java.util.ListIterator] + PsiMethodStub[firstKey:K] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[listIterator:java.util.ListIterator] + PsiMethodStub[lastKey:K] PsiModifierListStub[mask=1] PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[subList:java.util.List] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:int] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:int] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[readResolve:java.lang.Object] - PsiModifierListStub[mask=2] - PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] PsiClassStub[name=SynchronizedMap fqn=java.util.Collections.SynchronizedMap] @@ -2077,297 +1895,31 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=SynchronizedSet fqn=java.util.Collections.SynchronizedSet] + PsiClassStub[name=SynchronizedList fqn=java.util.Collections.SynchronizedList] PsiModifierListStub[mask=4104] PsiTypeParameterListStub PsiTypeParameter[E] PsiRefListStub[EXTENDS_BOUNDS_LIST:] PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedCollection] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Set] - PsiFieldStub[serialVersionUID:long=487447009682186044L] - PsiModifierListStub[mask=26] - PsiMethodStub[cons SynchronizedSet:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Set] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[cons SynchronizedSet:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Set] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[equals:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[hashCode:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=SynchronizedSortedMap fqn=java.util.Collections.SynchronizedSortedMap] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[K] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiTypeParameter[V] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedMap] - PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedMap] - PsiFieldStub[serialVersionUID:long=-8798146769416483793L] - PsiModifierListStub[mask=26] - PsiFieldStub[sm:java.util.SortedMap] - PsiModifierListStub[mask=18] - PsiMethodStub[cons SynchronizedSortedMap:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.SortedMap] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[cons SynchronizedSortedMap:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.SortedMap] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[comparator:java.util.Comparator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[subMap:java.util.SortedMap] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:K] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[headMap:java.util.SortedMap] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[tailMap:java.util.SortedMap] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[firstKey:K] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[lastKey:K] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=SynchronizedSortedSet fqn=java.util.Collections.SynchronizedSortedSet] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedSet] - PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedSet] - PsiFieldStub[serialVersionUID:long=8695801310862127406L] - PsiModifierListStub[mask=26] - PsiFieldStub[ss:java.util.SortedSet] - PsiModifierListStub[mask=18] - PsiMethodStub[cons SynchronizedSortedSet:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.SortedSet] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[cons SynchronizedSortedSet:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.SortedSet] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[comparator:java.util.Comparator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[subSet:java.util.SortedSet] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[headSet:java.util.SortedSet] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[tailSet:java.util.SortedSet] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[first:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[last:E] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=UnmodifiableCollection fqn=java.util.Collections.UnmodifiableCollection] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Collection, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=1820017752578914078L] - PsiModifierListStub[mask=26] - PsiFieldStub[c:java.util.Collection] - PsiModifierListStub[mask=4112] - PsiMethodStub[cons UnmodifiableCollection:void] - PsiModifierListStub[mask=4096] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[size:int] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[isEmpty:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[contains:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:java.lang.Object[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toArray:T[]] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiParameterListStub - PsiParameterStub[p1:T[]] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[toString:java.lang.String] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[iterator:java.util.Iterator] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[add:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:E] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[remove:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[containsAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[addAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[removeAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[retainAll:boolean] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.util.Collection] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[clear:void] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=UnmodifiableList fqn=java.util.Collections.UnmodifiableList] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[E] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.UnmodifiableCollection] PsiRefListStub[IMPLEMENTS_LIST:java.util.List] - PsiFieldStub[serialVersionUID:long=-283967356065247728L] + PsiFieldStub[serialVersionUID:long=-7754090372962971524L] PsiModifierListStub[mask=26] - PsiFieldStub[list:java.util.List] + PsiFieldStub[list:java.util.List] PsiModifierListStub[mask=4112] - PsiMethodStub[cons UnmodifiableList:void] + PsiMethodStub[cons SynchronizedList:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.List] + PsiParameterStub[p1:java.util.List] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[cons SynchronizedList:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.List] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[equals:boolean] @@ -2463,6 +2015,290 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=SynchronizedSortedSet fqn=java.util.Collections.SynchronizedSortedSet] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedSet] + PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedSet] + PsiFieldStub[serialVersionUID:long=8695801310862127406L] + PsiModifierListStub[mask=26] + PsiFieldStub[ss:java.util.SortedSet] + PsiModifierListStub[mask=18] + PsiMethodStub[cons SynchronizedSortedSet:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.SortedSet] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[cons SynchronizedSortedSet:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.SortedSet] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[comparator:java.util.Comparator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[subSet:java.util.SortedSet] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[headSet:java.util.SortedSet] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[tailSet:java.util.SortedSet] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[first:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[last:E] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=SynchronizedSet fqn=java.util.Collections.SynchronizedSet] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.SynchronizedCollection] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Set] + PsiFieldStub[serialVersionUID:long=487447009682186044L] + PsiModifierListStub[mask=26] + PsiMethodStub[cons SynchronizedSet:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Set] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[cons SynchronizedSet:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Set] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[equals:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=SynchronizedCollection fqn=java.util.Collections.SynchronizedCollection] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Collection, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=3053995032091335093L] + PsiModifierListStub[mask=26] + PsiFieldStub[c:java.util.Collection] + PsiModifierListStub[mask=4112] + PsiFieldStub[mutex:java.lang.Object] + PsiModifierListStub[mask=4112] + PsiMethodStub[cons SynchronizedCollection:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[cons SynchronizedCollection:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[isEmpty:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:java.lang.Object[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:T[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiTypeParameter[T] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiParameterListStub + PsiParameterStub[p1:T[]] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[add:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[addAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[removeAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[retainAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toString:java.lang.String] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[writeObject:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.io.ObjectOutputStream] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:java.io.IOException] + PsiClassStub[name=UnmodifiableSortedMap fqn=java.util.Collections.UnmodifiableSortedMap] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[K] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiTypeParameter[V] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.UnmodifiableMap] + PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedMap, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=-8806743815996713206L] + PsiModifierListStub[mask=26] + PsiFieldStub[sm:java.util.SortedMap] + PsiModifierListStub[mask=18] + PsiMethodStub[cons UnmodifiableSortedMap:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.SortedMap] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[comparator:java.util.Comparator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[subMap:java.util.SortedMap] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:K] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[headMap:java.util.SortedMap] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[tailMap:java.util.SortedMap] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:K] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[firstKey:K] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[lastKey:K] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] PsiClassStub[name=UnmodifiableMap fqn=java.util.Collections.UnmodifiableMap] PsiModifierListStub[mask=10] PsiTypeParameterListStub @@ -2720,20 +2556,22 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=UnmodifiableSet fqn=java.util.Collections.UnmodifiableSet] + PsiClassStub[name=UnmodifiableList fqn=java.util.Collections.UnmodifiableList] PsiModifierListStub[mask=4104] PsiTypeParameterListStub PsiTypeParameter[E] PsiRefListStub[EXTENDS_BOUNDS_LIST:] PsiRefListStub[EXTENDS_LIST:java.util.Collections.UnmodifiableCollection] - PsiRefListStub[IMPLEMENTS_LIST:java.util.Set, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=-9215047833775013803L] + PsiRefListStub[IMPLEMENTS_LIST:java.util.List] + PsiFieldStub[serialVersionUID:long=-283967356065247728L] PsiModifierListStub[mask=26] - PsiMethodStub[cons UnmodifiableSet:void] + PsiFieldStub[list:java.util.List] + PsiModifierListStub[mask=4112] + PsiMethodStub[cons UnmodifiableList:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.Set] + PsiParameterStub[p1:java.util.List] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[equals:boolean] @@ -2748,62 +2586,85 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiClassStub[name=UnmodifiableSortedMap fqn=java.util.Collections.UnmodifiableSortedMap] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[K] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiTypeParameter[V] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiRefListStub[EXTENDS_LIST:java.util.Collections.UnmodifiableMap] - PsiRefListStub[IMPLEMENTS_LIST:java.util.SortedMap, java.io.Serializable] - PsiFieldStub[serialVersionUID:long=-8806743815996713206L] - PsiModifierListStub[mask=26] - PsiFieldStub[sm:java.util.SortedMap] - PsiModifierListStub[mask=18] - PsiMethodStub[cons UnmodifiableSortedMap:void] - PsiModifierListStub[mask=4096] + PsiMethodStub[get:E] + PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:java.util.SortedMap] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[comparator:java.util.Comparator] + PsiMethodStub[set:E] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[subMap:java.util.SortedMap] - PsiModifierListStub[mask=1] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:K] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] - PsiParameterStub[p2:K] + PsiParameterStub[p2:E] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[headMap:java.util.SortedMap] + PsiMethodStub[add:void] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:K] + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:E] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[tailMap:java.util.SortedMap] + PsiMethodStub[remove:E] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub - PsiParameterStub[p1:K] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[firstKey:K] + PsiMethodStub[indexOf:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[lastIndexOf:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[addAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[listIterator:java.util.ListIterator] PsiModifierListStub[mask=1] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[lastKey:K] + PsiMethodStub[listIterator:java.util.ListIterator] PsiModifierListStub[mask=1] PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[subList:java.util.List] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[readResolve:java.lang.Object] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] PsiClassStub[name=UnmodifiableSortedSet fqn=java.util.Collections.UnmodifiableSortedSet] @@ -2862,6 +2723,145 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=UnmodifiableSet fqn=java.util.Collections.UnmodifiableSet] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:java.util.Collections.UnmodifiableCollection] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Set, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=-9215047833775013803L] + PsiModifierListStub[mask=26] + PsiMethodStub[cons UnmodifiableSet:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Set] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[equals:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=UnmodifiableCollection fqn=java.util.Collections.UnmodifiableCollection] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Collection, java.io.Serializable] + PsiFieldStub[serialVersionUID:long=1820017752578914078L] + PsiModifierListStub[mask=26] + PsiFieldStub[c:java.util.Collection] + PsiModifierListStub[mask=4112] + PsiMethodStub[cons UnmodifiableCollection:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[isEmpty:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:java.lang.Object[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toArray:T[]] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiTypeParameter[T] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiParameterListStub + PsiParameterStub[p1:T[]] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toString:java.lang.String] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[add:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:E] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[containsAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[addAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[removeAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[retainAll:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.Collection] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[interface name=SelfComparable fqn=java.util.Collections.SelfComparable] + PsiModifierListStub[mask=1034] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.lang.Comparable] + PsiRefListStub[IMPLEMENTS_LIST:] PsiFieldStub[BINARYSEARCH_THRESHOLD:int=5000] PsiModifierListStub[mask=26] PsiFieldStub[REVERSE_THRESHOLD:int=18] @@ -3578,4 +3578,4 @@ PsiJavaFileStub [java.util] PsiParameterListStub PsiParameterStub[p1:java.util.Deque] PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] + PsiRefListStub[THROWS_LIST:] \ No newline at end of file diff --git a/java/java-tests/testData/psi/cls/stubBuilder/UtilHashMap.txt b/java/java-tests/testData/psi/cls/stubBuilder/UtilHashMap.txt index 5c2b9d8f9cdd..82756d9725ab 100644 --- a/java/java-tests/testData/psi/cls/stubBuilder/UtilHashMap.txt +++ b/java/java-tests/testData/psi/cls/stubBuilder/UtilHashMap.txt @@ -8,13 +8,295 @@ PsiJavaFileStub [java.util] PsiRefListStub[EXTENDS_BOUNDS_LIST:] PsiRefListStub[EXTENDS_LIST:java.util.AbstractMap] PsiRefListStub[IMPLEMENTS_LIST:java.util.Map, java.lang.Cloneable, java.io.Serializable] + PsiClassStub[name=EntrySet fqn=java.util.HashMap.EntrySet] + PsiModifierListStub[mask=18] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet>] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiMethodStub[cons EntrySet:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator>] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=Values fqn=java.util.HashMap.Values] + PsiModifierListStub[mask=18] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.util.AbstractCollection] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiMethodStub[cons Values:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=KeySet fqn=java.util.HashMap.KeySet] + PsiModifierListStub[mask=18] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.util.AbstractSet] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiMethodStub[cons KeySet:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[iterator:java.util.Iterator] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[size:int] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[contains:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:boolean] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[clear:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=EntryIterator fqn=java.util.HashMap.EntryIterator] + PsiModifierListStub[mask=18] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.util.HashMap.HashIterator>] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiMethodStub[cons EntryIterator:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[next:java.util.Map.Entry] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=KeyIterator fqn=java.util.HashMap.KeyIterator] + PsiModifierListStub[mask=18] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.util.HashMap.HashIterator] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiMethodStub[cons KeyIterator:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[next:K] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=ValueIterator fqn=java.util.HashMap.ValueIterator] + PsiModifierListStub[mask=18] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:java.util.HashMap.HashIterator] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiMethodStub[cons ValueIterator:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[next:V] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=HashIterator fqn=java.util.HashMap.HashIterator] + PsiModifierListStub[mask=1026] + PsiTypeParameterListStub + PsiTypeParameter[E] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Iterator] + PsiFieldStub[next:java.util.HashMap.Entry] + PsiModifierListStub[mask=4096] + PsiFieldStub[expectedModCount:int] + PsiModifierListStub[mask=4096] + PsiFieldStub[index:int] + PsiModifierListStub[mask=4096] + PsiFieldStub[current:java.util.HashMap.Entry] + PsiModifierListStub[mask=4096] + PsiMethodStub[cons HashIterator:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hasNext:boolean] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[nextEntry:java.util.HashMap.Entry] + PsiModifierListStub[mask=4112] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[remove:void] + PsiModifierListStub[mask=1] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=Entry fqn=java.util.HashMap.Entry] + PsiModifierListStub[mask=4104] + PsiTypeParameterListStub + PsiTypeParameter[K] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiTypeParameter[V] + PsiRefListStub[EXTENDS_BOUNDS_LIST:] + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:java.util.Map.Entry] + PsiFieldStub[key:K] + PsiModifierListStub[mask=4112] + PsiFieldStub[value:V] + PsiModifierListStub[mask=4096] + PsiFieldStub[next:java.util.HashMap.Entry] + PsiModifierListStub[mask=4096] + PsiFieldStub[hash:int] + PsiModifierListStub[mask=4096] + PsiMethodStub[cons Entry:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiParameterStub[p2:K] + PsiModifierListStub[mask=0] + PsiParameterStub[p3:V] + PsiModifierListStub[mask=0] + PsiParameterStub[p4:java.util.HashMap.Entry] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[getKey:K] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[getValue:V] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[setValue:V] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:V] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[equals:boolean] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.lang.Object] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[hashCode:int] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[toString:java.lang.String] + PsiModifierListStub[mask=17] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[recordAccess:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.HashMap] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[recordRemoval:void] + PsiModifierListStub[mask=4096] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:java.util.HashMap] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiClassStub[name=Holder fqn=java.util.HashMap.Holder] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiRefListStub[EXTENDS_LIST:] + PsiRefListStub[IMPLEMENTS_LIST:] + PsiFieldStub[ALTERNATIVE_HASHING_THRESHOLD:int] + PsiModifierListStub[mask=4120] + PsiMethodStub[cons Holder:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] PsiFieldStub[DEFAULT_INITIAL_CAPACITY:int=16] PsiModifierListStub[mask=4120] PsiFieldStub[MAXIMUM_CAPACITY:int=1073741824] PsiModifierListStub[mask=4120] PsiFieldStub[DEFAULT_LOAD_FACTOR:float=0.75f] PsiModifierListStub[mask=4120] - PsiFieldStub[table:java.util.HashMap.Entry[]] + PsiFieldStub[EMPTY_TABLE:java.util.HashMap.Entry[]] + PsiModifierListStub[mask=4120] + PsiFieldStub[table:java.util.HashMap.Entry[]] PsiModifierListStub[mask=4224] PsiFieldStub[size:int] PsiModifierListStub[mask=4224] @@ -23,9 +305,11 @@ PsiJavaFileStub [java.util] PsiFieldStub[loadFactor:float] PsiModifierListStub[mask=4112] PsiFieldStub[modCount:int] - PsiModifierListStub[mask=4288] - PsiFieldStub[NULL_KEY:java.lang.Object] + PsiModifierListStub[mask=4224] + PsiFieldStub[ALTERNATIVE_HASHING_THRESHOLD_DEFAULT:int=2147483647] PsiModifierListStub[mask=4120] + PsiFieldStub[hashSeed:int] + PsiModifierListStub[mask=4224] PsiFieldStub[entrySet:java.util.Set>] PsiModifierListStub[mask=130] PsiFieldStub[serialVersionUID:long=362498820763181265L] @@ -58,45 +342,39 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.util.Map] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiMethodStub[roundUpToPowerOf2:int] + PsiModifierListStub[mask=10] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] + PsiMethodStub[inflateTable:void] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:int] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] PsiMethodStub[init:void] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] - PsiMethodStub[maskNull:T] - PsiModifierListStub[mask=4104] + PsiMethodStub[initHashSeedAsNeeded:boolean] + PsiModifierListStub[mask=4112] PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] PsiParameterListStub - PsiParameterStub[p1:T] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] - PsiMethodStub[unmaskNull:T] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiTypeParameter[T] - PsiRefListStub[EXTENDS_BOUNDS_LIST:] - PsiParameterListStub - PsiParameterStub[p1:T] + PsiParameterStub[p1:int] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[hash:int] - PsiModifierListStub[mask=4104] + PsiModifierListStub[mask=4112] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] - PsiMethodStub[eq:boolean] - PsiModifierListStub[mask=4104] - PsiTypeParameterListStub - PsiParameterListStub - PsiParameterStub[p1:java.lang.Object] - PsiModifierListStub[mask=0] - PsiParameterStub[p2:java.lang.Object] - PsiModifierListStub[mask=0] - PsiRefListStub[THROWS_LIST:] PsiMethodStub[indexFor:int] PsiModifierListStub[mask=4104] PsiTypeParameterListStub @@ -123,6 +401,11 @@ PsiJavaFileStub [java.util] PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiMethodStub[getForNullKey:V] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] PsiMethodStub[containsKey:boolean] PsiModifierListStub[mask=1] PsiTypeParameterListStub @@ -131,7 +414,7 @@ PsiJavaFileStub [java.util] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[getEntry:java.util.HashMap.Entry] - PsiModifierListStub[mask=4096] + PsiModifierListStub[mask=4112] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.lang.Object] @@ -146,6 +429,13 @@ PsiJavaFileStub [java.util] PsiParameterStub[p2:V] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] + PsiMethodStub[putForNullKey:V] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiParameterStub[p1:V] + PsiModifierListStub[mask=0] + PsiRefListStub[THROWS_LIST:] PsiMethodStub[putForCreate:void] PsiModifierListStub[mask=2] PsiTypeParameterListStub @@ -156,7 +446,7 @@ PsiJavaFileStub [java.util] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[putAllForCreate:void] - PsiModifierListStub[mask=4096] + PsiModifierListStub[mask=2] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.util.Map] @@ -175,6 +465,8 @@ PsiJavaFileStub [java.util] PsiParameterListStub PsiParameterStub[p1:java.util.HashMap.Entry[]] PsiModifierListStub[mask=0] + PsiParameterStub[p2:boolean] + PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[putAll:void] PsiModifierListStub[mask=1] @@ -191,14 +483,14 @@ PsiJavaFileStub [java.util] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[removeEntryForKey:java.util.HashMap.Entry] - PsiModifierListStub[mask=4096] + PsiModifierListStub[mask=4112] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.lang.Object] PsiModifierListStub[mask=0] PsiRefListStub[THROWS_LIST:] PsiMethodStub[removeMapping:java.util.HashMap.Entry] - PsiModifierListStub[mask=4096] + PsiModifierListStub[mask=4112] PsiTypeParameterListStub PsiParameterListStub PsiParameterStub[p1:java.lang.Object] @@ -282,6 +574,11 @@ PsiJavaFileStub [java.util] PsiTypeParameterListStub PsiParameterListStub PsiRefListStub[THROWS_LIST:] + PsiMethodStub[entrySet0:java.util.Set>] + PsiModifierListStub[mask=2] + PsiTypeParameterListStub + PsiParameterListStub + PsiRefListStub[THROWS_LIST:] PsiMethodStub[writeObject:void] PsiModifierListStub[mask=2] PsiTypeParameterListStub @@ -305,4 +602,4 @@ PsiJavaFileStub [java.util] PsiModifierListStub[mask=4096] PsiTypeParameterListStub PsiParameterListStub - PsiRefListStub[THROWS_LIST:] + PsiRefListStub[THROWS_LIST:] \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/copyClass/libraryClass/Bar.expected.java b/java/java-tests/testData/refactoring/copyClass/libraryClass/Bar.expected.java index 192f96517545..d6738772cdc9 100644 --- a/java/java-tests/testData/refactoring/copyClass/libraryClass/Bar.expected.java +++ b/java/java-tests/testData/refactoring/copyClass/libraryClass/Bar.expected.java @@ -1,14 +1,29 @@ /* - * @(#)ArrayList.java 1.46 03/06/22 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * Copyright 2003 Sun Microsystems, Inc. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. */ -import java.util.AbstractList; -import java.util.Collection; -import java.util.List; -import java.util.RandomAccess; +import java.util.*; /** * Resizable-array implementation of the List interface. Implements @@ -16,70 +31,71 @@ import java.util.RandomAccess; * null. In addition to implementing the List interface, * this class provides methods to manipulate the size of the array that is * used internally to store the list. (This class is roughly equivalent to - * Vector, except that it is unsynchronized.)

    + * Vector, except that it is unsynchronized.) * - * The size, isEmpty, get, set, + *

    The size, isEmpty, get, set, * iterator, and listIterator operations run in constant * time. The add operation runs in amortized constant time, * that is, adding n elements requires O(n) time. All of the other operations * run in linear time (roughly speaking). The constant factor is low compared - * to that for the LinkedList implementation.

    + * to that for the LinkedList implementation. * - * Each ArrayList instance has a capacity. The capacity is + *

    Each ArrayList instance has a capacity. The capacity is * the size of the array used to store the elements in the list. It is always * at least as large as the list size. As elements are added to an ArrayList, * its capacity grows automatically. The details of the growth policy are not * specified beyond the fact that adding an element has constant amortized - * time cost.

    + * time cost. * - * An application can increase the capacity of an ArrayList instance + *

    An application can increase the capacity of an ArrayList instance * before adding a large number of elements using the ensureCapacity - * operation. This may reduce the amount of incremental reallocation.

    + * operation. This may reduce the amount of incremental reallocation. * - * Note that this implementation is not synchronized. If - * multiple threads access an ArrayList instance concurrently, and at - * least one of the threads modifies the list structurally, it must be - * synchronized externally. (A structural modification is any operation that - * adds or deletes one or more elements, or explicitly resizes the backing - * array; merely setting the value of an element is not a structural - * modification.) This is typically accomplished by synchronizing on some - * object that naturally encapsulates the list. If no such object exists, the - * list should be "wrapped" using the Collections.synchronizedList + *

    Note that this implementation is not synchronized. + * If multiple threads access an ArrayList instance concurrently, + * and at least one of the threads modifies the list structurally, it + * must be synchronized externally. (A structural modification is + * any operation that adds or deletes one or more elements, or explicitly + * resizes the backing array; merely setting the value of an element is not + * a structural modification.) This is typically accomplished by + * synchronizing on some object that naturally encapsulates the list. + * + * If no such object exists, the list should be "wrapped" using the + * {@link java.util.Collections#synchronizedList Collections.synchronizedList} * method. This is best done at creation time, to prevent accidental - * unsynchronized access to the list: - *

    - *	List list = Collections.synchronizedList(new ArrayList(...));
    - * 

    + * unsynchronized access to the list:

    + *   List list = Collections.synchronizedList(new ArrayList(...));
    * - * The iterators returned by this class's iterator and - * listIterator methods are fail-fast: if list is structurally - * modified at any time after the iterator is created, in any way except - * through the iterator's own remove or add methods, the iterator will throw a - * ConcurrentModificationException. Thus, in the face of concurrent - * modification, the iterator fails quickly and cleanly, rather than risking - * arbitrary, non-deterministic behavior at an undetermined time in the - * future.

    + *

    + * The iterators returned by this class's {@link #iterator() iterator} and + * {@link #listIterator(int) listIterator} methods are fail-fast: + * if the list is structurally modified at any time after the iterator is + * created, in any way except through the iterator's own + * {@link java.util.ListIterator#remove() remove} or + * {@link java.util.ListIterator#add(Object) add} methods, the iterator will throw a + * {@link java.util.ConcurrentModificationException}. Thus, in the face of + * concurrent modification, the iterator fails quickly and cleanly, rather + * than risking arbitrary, non-deterministic behavior at an undetermined + * time in the future. * - * Note that the fail-fast behavior of an iterator cannot be guaranteed + *

    Note that the fail-fast behavior of an iterator cannot be guaranteed * as it is, generally speaking, impossible to make any hard guarantees in the * presence of unsynchronized concurrent modification. Fail-fast iterators - * throw ConcurrentModificationException on a best-effort basis. + * throw {@code ConcurrentModificationException} on a best-effort basis. * Therefore, it would be wrong to write a program that depended on this - * exception for its correctness: the fail-fast behavior of iterators - * should be used only to detect bugs.

    + * exception for its correctness: the fail-fast behavior of iterators + * should be used only to detect bugs. * - * This class is a member of the - * + *

    This class is a member of the + * * Java Collections Framework. * * @author Josh Bloch * @author Neal Gafter - * @version 1.46, 06/22/03 - * @see java.util.Collection - * @see java.util.List - * @see LinkedList - * @see Vector - * @see java.util.Collections#synchronizedList(java.util.List) + * @see java.util.Collection + * @see java.util.List + * @see LinkedList + * @see Vector * @since 1.2 */ @@ -89,10 +105,22 @@ public class Bar extends AbstractList private static final long serialVersionUID = 8683452581122892189L; /** - * The array buffer into which the elements of the ArrayList are stored. - * The capacity of the ArrayList is the length of this array buffer. + * Default initial capacity. */ - private transient E[] elementData; + private static final int DEFAULT_CAPACITY = 10; + + /** + * Shared empty array instance used for empty instances. + */ + private static final Object[] EMPTY_ELEMENTDATA = {}; + + /** + * The array buffer into which the elements of the ArrayList are stored. + * The capacity of the ArrayList is the length of this array buffer. Any + * empty ArrayList with elementData == EMPTY_ELEMENTDATA will be expanded to + * DEFAULT_CAPACITY when the first element is added. + */ + private transient Object[] elementData; /** * The size of the ArrayList (the number of elements it contains). @@ -104,40 +132,40 @@ public class Bar extends AbstractList /** * Constructs an empty list with the specified initial capacity. * - * @param initialCapacity the initial capacity of the list. - * @exception IllegalArgumentException if the specified initial capacity - * is negative + * @param initialCapacity the initial capacity of the list + * @throws IllegalArgumentException if the specified initial capacity + * is negative */ public Bar(int initialCapacity) { - super(); + super(); if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); - this.elementData = (E[])new Object[initialCapacity]; + this.elementData = new Object[initialCapacity]; } /** * Constructs an empty list with an initial capacity of ten. */ public Bar() { - this(10); + super(); + this.elementData = EMPTY_ELEMENTDATA; } /** * Constructs a list containing the elements of the specified * collection, in the order they are returned by the collection's - * iterator. The ArrayList instance has an initial capacity of - * 110% the size of the specified collection. + * iterator. * - * @param c the collection whose elements are to be placed into this list. - * @throws NullPointerException if the specified collection is null. + * @param c the collection whose elements are to be placed into this list + * @throws NullPointerException if the specified collection is null */ public Bar(Collection c) { - size = c.size(); - // Allow 10% room for growth - elementData = (E[])new Object[ - (int)Math.min((size*110L)/100,Integer.MAX_VALUE)]; - c.toArray(elementData); + elementData = c.toArray(); + size = elementData.length; + // c.toArray might (incorrectly) not return Object[] (see 6260652) + if (elementData.getClass() != Object[].class) + elementData = Arrays.copyOf(elementData, size, Object[].class); } /** @@ -146,166 +174,220 @@ public class Bar extends AbstractList * the storage of an ArrayList instance. */ public void trimToSize() { - modCount++; - int oldCapacity = elementData.length; - if (size < oldCapacity) { - Object oldData[] = elementData; - elementData = (E[])new Object[size]; - System.arraycopy(oldData, 0, elementData, 0, size); - } + modCount++; + if (size < elementData.length) { + elementData = Arrays.copyOf(elementData, size); + } } /** * Increases the capacity of this ArrayList instance, if - * necessary, to ensure that it can hold at least the number of elements - * specified by the minimum capacity argument. + * necessary, to ensure that it can hold at least the number of elements + * specified by the minimum capacity argument. * - * @param minCapacity the desired minimum capacity. + * @param minCapacity the desired minimum capacity */ public void ensureCapacity(int minCapacity) { - modCount++; - int oldCapacity = elementData.length; - if (minCapacity > oldCapacity) { - Object oldData[] = elementData; - int newCapacity = (oldCapacity * 3)/2 + 1; - if (newCapacity < minCapacity) - newCapacity = minCapacity; - elementData = (E[])new Object[newCapacity]; - System.arraycopy(oldData, 0, elementData, 0, size); - } + int minExpand = (elementData != EMPTY_ELEMENTDATA) + // any size if real element table + ? 0 + // larger than default for empty table. It's already supposed to be + // at default size. + : DEFAULT_CAPACITY; + + if (minCapacity > minExpand) { + ensureExplicitCapacity(minCapacity); + } + } + + private void ensureCapacityInternal(int minCapacity) { + if (elementData == EMPTY_ELEMENTDATA) { + minCapacity = Math.max(DEFAULT_CAPACITY, minCapacity); + } + + ensureExplicitCapacity(minCapacity); + } + + private void ensureExplicitCapacity(int minCapacity) { + modCount++; + + // overflow-conscious code + if (minCapacity - elementData.length > 0) + grow(minCapacity); + } + + /** + * The maximum size of array to allocate. + * Some VMs reserve some header words in an array. + * Attempts to allocate larger arrays may result in + * OutOfMemoryError: Requested array size exceeds VM limit + */ + private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; + + /** + * Increases the capacity to ensure that it can hold at least the + * number of elements specified by the minimum capacity argument. + * + * @param minCapacity the desired minimum capacity + */ + private void grow(int minCapacity) { + // overflow-conscious code + int oldCapacity = elementData.length; + int newCapacity = oldCapacity + (oldCapacity >> 1); + if (newCapacity - minCapacity < 0) + newCapacity = minCapacity; + if (newCapacity - MAX_ARRAY_SIZE > 0) + newCapacity = hugeCapacity(minCapacity); + // minCapacity is usually close to size, so this is a win: + elementData = Arrays.copyOf(elementData, newCapacity); + } + + private static int hugeCapacity(int minCapacity) { + if (minCapacity < 0) // overflow + throw new OutOfMemoryError(); + return (minCapacity > MAX_ARRAY_SIZE) ? + Integer.MAX_VALUE : + MAX_ARRAY_SIZE; } /** * Returns the number of elements in this list. * - * @return the number of elements in this list. + * @return the number of elements in this list */ public int size() { - return size; + return size; } /** - * Tests if this list has no elements. + * Returns true if this list contains no elements. * - * @return true if this list has no elements; - * false otherwise. + * @return true if this list contains no elements */ public boolean isEmpty() { - return size == 0; + return size == 0; } /** * Returns true if this list contains the specified element. + * More formally, returns true if and only if this list contains + * at least one element e such that + * (o==null ? e==null : o.equals(e)). * - * @param elem element whose presence in this List is to be tested. - * @return true if the specified element is present; - * false otherwise. + * @param o element whose presence in this list is to be tested + * @return true if this list contains the specified element */ - public boolean contains(Object elem) { - return indexOf(elem) >= 0; + public boolean contains(Object o) { + return indexOf(o) >= 0; } /** - * Searches for the first occurence of the given argument, testing - * for equality using the equals method. - * - * @param elem an object. - * @return the index of the first occurrence of the argument in this - * list; returns -1 if the object is not found. - * @see Object#equals(Object) + * Returns the index of the first occurrence of the specified element + * in this list, or -1 if this list does not contain the element. + * More formally, returns the lowest index i such that + * (o==null ? get(i)==null : o.equals(get(i))), + * or -1 if there is no such index. */ - public int indexOf(Object elem) { - if (elem == null) { - for (int i = 0; i < size; i++) - if (elementData[i]==null) - return i; - } else { - for (int i = 0; i < size; i++) - if (elem.equals(elementData[i])) - return i; - } - return -1; + public int indexOf(Object o) { + if (o == null) { + for (int i = 0; i < size; i++) + if (elementData[i]==null) + return i; + } else { + for (int i = 0; i < size; i++) + if (o.equals(elementData[i])) + return i; + } + return -1; } /** - * Returns the index of the last occurrence of the specified object in - * this list. - * - * @param elem the desired element. - * @return the index of the last occurrence of the specified object in - * this list; returns -1 if the object is not found. + * Returns the index of the last occurrence of the specified element + * in this list, or -1 if this list does not contain the element. + * More formally, returns the highest index i such that + * (o==null ? get(i)==null : o.equals(get(i))), + * or -1 if there is no such index. */ - public int lastIndexOf(Object elem) { - if (elem == null) { - for (int i = size-1; i >= 0; i--) - if (elementData[i]==null) - return i; - } else { - for (int i = size-1; i >= 0; i--) - if (elem.equals(elementData[i])) - return i; - } - return -1; + public int lastIndexOf(Object o) { + if (o == null) { + for (int i = size-1; i >= 0; i--) + if (elementData[i]==null) + return i; + } else { + for (int i = size-1; i >= 0; i--) + if (o.equals(elementData[i])) + return i; + } + return -1; } /** * Returns a shallow copy of this ArrayList instance. (The * elements themselves are not copied.) * - * @return a clone of this ArrayList instance. + * @return a clone of this ArrayList instance */ public Object clone() { - try { - Bar v = (Bar) super.clone(); - v.elementData = (E[])new Object[size]; - System.arraycopy(elementData, 0, v.elementData, 0, size); - v.modCount = 0; - return v; - } catch (CloneNotSupportedException e) { - // this shouldn't happen, since we are Cloneable - throw new InternalError(); - } + try { + @SuppressWarnings("unchecked") + Bar v = (Bar) super.clone(); + v.elementData = Arrays.copyOf(elementData, size); + v.modCount = 0; + return v; + } catch (CloneNotSupportedException e) { + // this shouldn't happen, since we are Cloneable + throw new InternalError(); + } } /** * Returns an array containing all of the elements in this list - * in the correct order. + * in proper sequence (from first to last element). * - * @return an array containing all of the elements in this list - * in the correct order. + *

    The returned array will be "safe" in that no references to it are + * maintained by this list. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

    This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this list in + * proper sequence */ public Object[] toArray() { - Object[] result = new Object[size]; - System.arraycopy(elementData, 0, result, 0, size); - return result; + return Arrays.copyOf(elementData, size); } /** - * Returns an array containing all of the elements in this list in the - * correct order; the runtime type of the returned array is that of the - * specified array. If the list fits in the specified array, it is - * returned therein. Otherwise, a new array is allocated with the runtime - * type of the specified array and the size of this list.

    + * Returns an array containing all of the elements in this list in proper + * sequence (from first to last element); the runtime type of the returned + * array is that of the specified array. If the list fits in the + * specified array, it is returned therein. Otherwise, a new array is + * allocated with the runtime type of the specified array and the size of + * this list. * - * If the list fits in the specified array with room to spare (i.e., the - * array has more elements than the list), the element in the array - * immediately following the end of the collection is set to - * null. This is useful in determining the length of the list - * only if the caller knows that the list does not contain any - * null elements. + *

    If the list fits in the specified array with room to spare + * (i.e., the array has more elements than the list), the element in + * the array immediately following the end of the collection is set to + * null. (This is useful in determining the length of the + * list only if the caller knows that the list does not contain + * any null elements.) * * @param a the array into which the elements of the list are to - * be stored, if it is big enough; otherwise, a new array of the - * same runtime type is allocated for this purpose. - * @return an array containing the elements of the list. - * @throws ArrayStoreException if the runtime type of a is not a supertype - * of the runtime type of every element in this list. + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose. + * @return an array containing the elements of the list + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this list + * @throws NullPointerException if the specified array is null */ + @SuppressWarnings("unchecked") public T[] toArray(T[] a) { if (a.length < size) - a = (T[])java.lang.reflect.Array. - newInstance(a.getClass().getComponentType(), size); - System.arraycopy(elementData, 0, a, 0, size); + // Make a new array of a's runtime type, but my contents: + return (T[]) Arrays.copyOf(elementData, size, a.getClass()); + System.arraycopy(elementData, 0, a, 0, size); if (a.length > size) a[size] = null; return a; @@ -313,48 +395,51 @@ public class Bar extends AbstractList // Positional Access Operations + @SuppressWarnings("unchecked") + E elementData(int index) { + return (E) elementData[index]; + } + /** * Returns the element at the specified position in this list. * - * @param index index of element to return. - * @return the element at the specified position in this list. - * @throws IndexOutOfBoundsException if index is out of range (index - * < 0 || index >= size()). + * @param index index of the element to return + * @return the element at the specified position in this list + * @throws IndexOutOfBoundsException {@inheritDoc} */ public E get(int index) { - RangeCheck(index); + rangeCheck(index); - return elementData[index]; + return elementData(index); } /** * Replaces the element at the specified position in this list with * the specified element. * - * @param index index of element to replace. - * @param element element to be stored at the specified position. - * @return the element previously at the specified position. - * @throws IndexOutOfBoundsException if index out of range - * (index < 0 || index >= size()). + * @param index index of the element to replace + * @param element element to be stored at the specified position + * @return the element previously at the specified position + * @throws IndexOutOfBoundsException {@inheritDoc} */ public E set(int index, E element) { - RangeCheck(index); + rangeCheck(index); - E oldValue = elementData[index]; - elementData[index] = element; - return oldValue; + E oldValue = elementData(index); + elementData[index] = element; + return oldValue; } /** * Appends the specified element to the end of this list. * - * @param o element to be appended to this list. - * @return true (as per the general contract of Collection.add). + * @param e element to be appended to this list + * @return true (as specified by {@link java.util.Collection#add}) */ - public boolean add(E o) { - ensureCapacity(size + 1); // Increments modCount!! - elementData[size++] = o; - return true; + public boolean add(E e) { + ensureCapacityInternal(size + 1); // Increments modCount!! + elementData[size++] = e; + return true; } /** @@ -362,21 +447,18 @@ public class Bar extends AbstractList * list. Shifts the element currently at that position (if any) and * any subsequent elements to the right (adds one to their indices). * - * @param index index at which the specified element is to be inserted. - * @param element element to be inserted. - * @throws IndexOutOfBoundsException if index is out of range - * (index < 0 || index > size()). + * @param index index at which the specified element is to be inserted + * @param element element to be inserted + * @throws IndexOutOfBoundsException {@inheritDoc} */ public void add(int index, E element) { - if (index > size || index < 0) - throw new IndexOutOfBoundsException( - "Index: "+index+", Size: "+size); + rangeCheckForAdd(index); - ensureCapacity(size+1); // Increments modCount!! - System.arraycopy(elementData, index, elementData, index + 1, - size - index); - elementData[index] = element; - size++; + ensureCapacityInternal(size + 1); // Increments modCount!! + System.arraycopy(elementData, index, elementData, index + 1, + size - index); + elementData[index] = element; + size++; } /** @@ -384,53 +466,53 @@ public class Bar extends AbstractList * Shifts any subsequent elements to the left (subtracts one from their * indices). * - * @param index the index of the element to removed. - * @return the element that was removed from the list. - * @throws IndexOutOfBoundsException if index out of range (index - * < 0 || index >= size()). + * @param index the index of the element to be removed + * @return the element that was removed from the list + * @throws IndexOutOfBoundsException {@inheritDoc} */ public E remove(int index) { - RangeCheck(index); + rangeCheck(index); - modCount++; - E oldValue = elementData[index]; + modCount++; + E oldValue = elementData(index); - int numMoved = size - index - 1; - if (numMoved > 0) - System.arraycopy(elementData, index+1, elementData, index, - numMoved); - elementData[--size] = null; // Let gc do its work + int numMoved = size - index - 1; + if (numMoved > 0) + System.arraycopy(elementData, index+1, elementData, index, + numMoved); + elementData[--size] = null; // clear to let GC do its work - return oldValue; + return oldValue; } /** - * Removes a single instance of the specified element from this - * list, if it is present (optional operation). More formally, - * removes an element e such that (o==null ? e==null : - * o.equals(e)), if the list contains one or more such - * elements. Returns true if the list contained the - * specified element (or equivalently, if the list changed as a - * result of the call).

    + * Removes the first occurrence of the specified element from this list, + * if it is present. If the list does not contain the element, it is + * unchanged. More formally, removes the element with the lowest index + * i such that + * (o==null ? get(i)==null : o.equals(get(i))) + * (if such an element exists). Returns true if this list + * contained the specified element (or equivalently, if this list + * changed as a result of the call). * - * @param o element to be removed from this list, if present. - * @return true if the list contained the specified element. + * @param o element to be removed from this list, if present + * @return true if this list contained the specified element */ public boolean remove(Object o) { - if (o == null) { + if (o == null) { for (int index = 0; index < size; index++) - if (elementData[index] == null) { - fastRemove(index); - return true; - } - } else { - for (int index = 0; index < size; index++) - if (o.equals(elementData[index])) { - fastRemove(index); - return true; - } + if (elementData[index] == null) { + fastRemove(index); + return true; + } + } else { + for (int index = 0; index < size; index++) + if (o.equals(elementData[index])) { + fastRemove(index); + return true; + } } - return false; + return false; } /* @@ -441,9 +523,9 @@ public class Bar extends AbstractList modCount++; int numMoved = size - index - 1; if (numMoved > 0) - System.arraycopy(elementData, index+1, elementData, index, + System.arraycopy(elementData, index+1, elementData, index, numMoved); - elementData[--size] = null; // Let gc do its work + elementData[--size] = null; // clear to let GC do its work } /** @@ -451,104 +533,191 @@ public class Bar extends AbstractList * be empty after this call returns. */ public void clear() { - modCount++; + modCount++; - // Let gc do its work - for (int i = 0; i < size; i++) - elementData[i] = null; + // clear to let GC do its work + for (int i = 0; i < size; i++) + elementData[i] = null; - size = 0; + size = 0; } /** - * Appends all of the elements in the specified Collection to the end of + * Appends all of the elements in the specified collection to the end of * this list, in the order that they are returned by the - * specified Collection's Iterator. The behavior of this operation is - * undefined if the specified Collection is modified while the operation + * specified collection's Iterator. The behavior of this operation is + * undefined if the specified collection is modified while the operation * is in progress. (This implies that the behavior of this call is - * undefined if the specified Collection is this list, and this + * undefined if the specified collection is this list, and this * list is nonempty.) * - * @param c the elements to be inserted into this list. - * @return true if this list changed as a result of the call. - * @throws NullPointerException if the specified collection is null. + * @param c collection containing elements to be added to this list + * @return true if this list changed as a result of the call + * @throws NullPointerException if the specified collection is null */ public boolean addAll(Collection c) { - Object[] a = c.toArray(); + Object[] a = c.toArray(); int numNew = a.length; - ensureCapacity(size + numNew); // Increments modCount + ensureCapacityInternal(size + numNew); // Increments modCount System.arraycopy(a, 0, elementData, size, numNew); size += numNew; - return numNew != 0; + return numNew != 0; } /** - * Inserts all of the elements in the specified Collection into this + * Inserts all of the elements in the specified collection into this * list, starting at the specified position. Shifts the element * currently at that position (if any) and any subsequent elements to * the right (increases their indices). The new elements will appear * in the list in the order that they are returned by the - * specified Collection's iterator. + * specified collection's iterator. * - * @param index index at which to insert first element - * from the specified collection. - * @param c elements to be inserted into this list. - * @return true if this list changed as a result of the call. - * @throws IndexOutOfBoundsException if index out of range (index - * < 0 || index > size()). - * @throws NullPointerException if the specified Collection is null. + * @param index index at which to insert the first element from the + * specified collection + * @param c collection containing elements to be added to this list + * @return true if this list changed as a result of the call + * @throws IndexOutOfBoundsException {@inheritDoc} + * @throws NullPointerException if the specified collection is null */ public boolean addAll(int index, Collection c) { - if (index > size || index < 0) - throw new IndexOutOfBoundsException( - "Index: " + index + ", Size: " + size); + rangeCheckForAdd(index); - Object[] a = c.toArray(); - int numNew = a.length; - ensureCapacity(size + numNew); // Increments modCount + Object[] a = c.toArray(); + int numNew = a.length; + ensureCapacityInternal(size + numNew); // Increments modCount - int numMoved = size - index; - if (numMoved > 0) - System.arraycopy(elementData, index, elementData, index + numNew, - numMoved); + int numMoved = size - index; + if (numMoved > 0) + System.arraycopy(elementData, index, elementData, index + numNew, + numMoved); System.arraycopy(a, 0, elementData, index, numNew); - size += numNew; - return numNew != 0; + size += numNew; + return numNew != 0; } /** - * Removes from this List all of the elements whose index is between - * fromIndex, inclusive and toIndex, exclusive. Shifts any succeeding - * elements to the left (reduces their index). - * This call shortens the list by (toIndex - fromIndex) elements. - * (If toIndex==fromIndex, this operation has no effect.) + * Removes from this list all of the elements whose index is between + * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. + * Shifts any succeeding elements to the left (reduces their index). + * This call shortens the list by {@code (toIndex - fromIndex)} elements. + * (If {@code toIndex==fromIndex}, this operation has no effect.) * - * @param fromIndex index of first element to be removed. - * @param toIndex index after last element to be removed. + * @throws IndexOutOfBoundsException if {@code fromIndex} or + * {@code toIndex} is out of range + * ({@code fromIndex < 0 || + * fromIndex >= size() || + * toIndex > size() || + * toIndex < fromIndex}) */ protected void removeRange(int fromIndex, int toIndex) { - modCount++; - int numMoved = size - toIndex; + modCount++; + int numMoved = size - toIndex; System.arraycopy(elementData, toIndex, elementData, fromIndex, numMoved); - // Let gc do its work - int newSize = size - (toIndex-fromIndex); - while (size != newSize) - elementData[--size] = null; + // clear to let GC do its work + int newSize = size - (toIndex-fromIndex); + for (int i = newSize; i < size; i++) { + elementData[i] = null; + } + size = newSize; } /** - * Check if the given index is in range. If not, throw an appropriate + * Checks if the given index is in range. If not, throws an appropriate * runtime exception. This method does *not* check if the index is * negative: It is always used immediately prior to an array access, * which throws an ArrayIndexOutOfBoundsException if index is negative. */ - private void RangeCheck(int index) { - if (index >= size) - throw new IndexOutOfBoundsException( - "Index: "+index+", Size: "+size); + private void rangeCheck(int index) { + if (index >= size) + throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); + } + + /** + * A version of rangeCheck used by add and addAll. + */ + private void rangeCheckForAdd(int index) { + if (index > size || index < 0) + throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); + } + + /** + * Constructs an IndexOutOfBoundsException detail message. + * Of the many possible refactorings of the error handling code, + * this "outlining" performs best with both server and client VMs. + */ + private String outOfBoundsMsg(int index) { + return "Index: "+index+", Size: "+size; + } + + /** + * Removes from this list all of its elements that are contained in the + * specified collection. + * + * @param c collection containing elements to be removed from this list + * @return {@code true} if this list changed as a result of the call + * @throws ClassCastException if the class of an element of this list + * is incompatible with the specified collection + * (optional) + * @throws NullPointerException if this list contains a null element and the + * specified collection does not permit null elements + * (optional), + * or if the specified collection is null + * @see java.util.Collection#contains(Object) + */ + public boolean removeAll(Collection c) { + return batchRemove(c, false); + } + + /** + * Retains only the elements in this list that are contained in the + * specified collection. In other words, removes from this list all + * of its elements that are not contained in the specified collection. + * + * @param c collection containing elements to be retained in this list + * @return {@code true} if this list changed as a result of the call + * @throws ClassCastException if the class of an element of this list + * is incompatible with the specified collection + * (optional) + * @throws NullPointerException if this list contains a null element and the + * specified collection does not permit null elements + * (optional), + * or if the specified collection is null + * @see java.util.Collection#contains(Object) + */ + public boolean retainAll(Collection c) { + return batchRemove(c, true); + } + + private boolean batchRemove(Collection c, boolean complement) { + final Object[] elementData = this.elementData; + int r = 0, w = 0; + boolean modified = false; + try { + for (; r < size; r++) + if (c.contains(elementData[r]) == complement) + elementData[w++] = elementData[r]; + } finally { + // Preserve behavioral compatibility with AbstractCollection, + // even if c.contains() throws. + if (r != size) { + System.arraycopy(elementData, r, + elementData, w, + size - r); + w += size - r; + } + if (w != size) { + // clear to let GC do its work + for (int i = w; i < size; i++) + elementData[i] = null; + modCount += size - w; + size = w; + modified = true; + } + } + return modified; } /** @@ -561,15 +730,21 @@ public class Bar extends AbstractList */ private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ - // Write out element count, and any hidden stuff - s.defaultWriteObject(); + // Write out element count, and any hidden stuff + int expectedModCount = modCount; + s.defaultWriteObject(); - // Write out array length - s.writeInt(elementData.length); + // Write out size as capacity for behavioural compatibility with clone() + s.writeInt(size); - // Write out all elements in the proper order. - for (int i=0; i extends AbstractList */ private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { - // Read in size, and any hidden stuff - s.defaultReadObject(); + elementData = EMPTY_ELEMENTDATA; - // Read in array length and allocate array - int arrayLength = s.readInt(); - Object[] a = elementData = (E[])new Object[arrayLength]; + // Read in size, and any hidden stuff + s.defaultReadObject(); - // Read in all elements in the proper order. - for (int i=0; i 0) { + // be like clone(), allocate array based upon size not capacity + ensureCapacityInternal(size); + + Object[] a = elementData; + // Read in all elements in the proper order. + for (int i=0; iThe returned list iterator is fail-fast. + * + * @throws IndexOutOfBoundsException {@inheritDoc} + */ + public ListIterator listIterator(int index) { + if (index < 0 || index > size) + throw new IndexOutOfBoundsException("Index: "+index); + return new ListItr(index); + } + + /** + * Returns a list iterator over the elements in this list (in proper + * sequence). + * + *

    The returned list iterator is fail-fast. + * + * @see #listIterator(int) + */ + public ListIterator listIterator() { + return new ListItr(0); + } + + /** + * Returns an iterator over the elements in this list in proper sequence. + * + *

    The returned iterator is fail-fast. + * + * @return an iterator over the elements in this list in proper sequence + */ + public Iterator iterator() { + return new Itr(); + } + + /** + * An optimized version of AbstractList.Itr + */ + private class Itr implements Iterator { + int cursor; // index of next element to return + int lastRet = -1; // index of last element returned; -1 if no such + int expectedModCount = modCount; + + public boolean hasNext() { + return cursor != size; + } + + @SuppressWarnings("unchecked") + public E next() { + checkForComodification(); + int i = cursor; + if (i >= size) + throw new NoSuchElementException(); + Object[] elementData = Bar.this.elementData; + if (i >= elementData.length) + throw new ConcurrentModificationException(); + cursor = i + 1; + return (E) elementData[lastRet = i]; + } + + public void remove() { + if (lastRet < 0) + throw new IllegalStateException(); + checkForComodification(); + + try { + Bar.this.remove(lastRet); + cursor = lastRet; + lastRet = -1; + expectedModCount = modCount; + } catch (IndexOutOfBoundsException ex) { + throw new ConcurrentModificationException(); + } + } + + final void checkForComodification() { + if (modCount != expectedModCount) + throw new ConcurrentModificationException(); + } + } + + /** + * An optimized version of AbstractList.ListItr + */ + private class ListItr extends Itr implements ListIterator { + ListItr(int index) { + super(); + cursor = index; + } + + public boolean hasPrevious() { + return cursor != 0; + } + + public int nextIndex() { + return cursor; + } + + public int previousIndex() { + return cursor - 1; + } + + @SuppressWarnings("unchecked") + public E previous() { + checkForComodification(); + int i = cursor - 1; + if (i < 0) + throw new NoSuchElementException(); + Object[] elementData = Bar.this.elementData; + if (i >= elementData.length) + throw new ConcurrentModificationException(); + cursor = i; + return (E) elementData[lastRet = i]; + } + + public void set(E e) { + if (lastRet < 0) + throw new IllegalStateException(); + checkForComodification(); + + try { + Bar.this.set(lastRet, e); + } catch (IndexOutOfBoundsException ex) { + throw new ConcurrentModificationException(); + } + } + + public void add(E e) { + checkForComodification(); + + try { + int i = cursor; + Bar.this.add(i, e); + cursor = i + 1; + lastRet = -1; + expectedModCount = modCount; + } catch (IndexOutOfBoundsException ex) { + throw new ConcurrentModificationException(); + } + } + } + + /** + * Returns a view of the portion of this list between the specified + * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. (If + * {@code fromIndex} and {@code toIndex} are equal, the returned list is + * empty.) The returned list is backed by this list, so non-structural + * changes in the returned list are reflected in this list, and vice-versa. + * The returned list supports all of the optional list operations. + * + *

    This method eliminates the need for explicit range operations (of + * the sort that commonly exist for arrays). Any operation that expects + * a list can be used as a range operation by passing a subList view + * instead of a whole list. For example, the following idiom + * removes a range of elements from a list: + *

    +     *      list.subList(from, to).clear();
    +     * 
    + * Similar idioms may be constructed for {@link #indexOf(Object)} and + * {@link #lastIndexOf(Object)}, and all of the algorithms in the + * {@link java.util.Collections} class can be applied to a subList. + * + *

    The semantics of the list returned by this method become undefined if + * the backing list (i.e., this list) is structurally modified in + * any way other than via the returned list. (Structural modifications are + * those that change the size of this list, or otherwise perturb it in such + * a fashion that iterations in progress may yield incorrect results.) + * + * @throws IndexOutOfBoundsException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public List subList(int fromIndex, int toIndex) { + subListRangeCheck(fromIndex, toIndex, size); + return new SubList(this, 0, fromIndex, toIndex); + } + + static void subListRangeCheck(int fromIndex, int toIndex, int size) { + if (fromIndex < 0) + throw new IndexOutOfBoundsException("fromIndex = " + fromIndex); + if (toIndex > size) + throw new IndexOutOfBoundsException("toIndex = " + toIndex); + if (fromIndex > toIndex) + throw new IllegalArgumentException("fromIndex(" + fromIndex + + ") > toIndex(" + toIndex + ")"); + } + + private class SubList extends AbstractList implements RandomAccess { + private final AbstractList parent; + private final int parentOffset; + private final int offset; + int size; + + SubList(AbstractList parent, + int offset, int fromIndex, int toIndex) { + this.parent = parent; + this.parentOffset = fromIndex; + this.offset = offset + fromIndex; + this.size = toIndex - fromIndex; + this.modCount = Bar.this.modCount; + } + + public E set(int index, E e) { + rangeCheck(index); + checkForComodification(); + E oldValue = Bar.this.elementData(offset + index); + Bar.this.elementData[offset + index] = e; + return oldValue; + } + + public E get(int index) { + rangeCheck(index); + checkForComodification(); + return Bar.this.elementData(offset + index); + } + + public int size() { + checkForComodification(); + return this.size; + } + + public void add(int index, E e) { + rangeCheckForAdd(index); + checkForComodification(); + parent.add(parentOffset + index, e); + this.modCount = parent.modCount; + this.size++; + } + + public E remove(int index) { + rangeCheck(index); + checkForComodification(); + E result = parent.remove(parentOffset + index); + this.modCount = parent.modCount; + this.size--; + return result; + } + + protected void removeRange(int fromIndex, int toIndex) { + checkForComodification(); + parent.removeRange(parentOffset + fromIndex, + parentOffset + toIndex); + this.modCount = parent.modCount; + this.size -= toIndex - fromIndex; + } + + public boolean addAll(Collection c) { + return addAll(this.size, c); + } + + public boolean addAll(int index, Collection c) { + rangeCheckForAdd(index); + int cSize = c.size(); + if (cSize==0) + return false; + + checkForComodification(); + parent.addAll(parentOffset + index, c); + this.modCount = parent.modCount; + this.size += cSize; + return true; + } + + public Iterator iterator() { + return listIterator(); + } + + public ListIterator listIterator(final int index) { + checkForComodification(); + rangeCheckForAdd(index); + final int offset = this.offset; + + return new ListIterator() { + int cursor = index; + int lastRet = -1; + int expectedModCount = Bar.this.modCount; + + public boolean hasNext() { + return cursor != Bar.SubList.this.size; + } + + @SuppressWarnings("unchecked") + public E next() { + checkForComodification(); + int i = cursor; + if (i >= Bar.SubList.this.size) + throw new NoSuchElementException(); + Object[] elementData = Bar.this.elementData; + if (offset + i >= elementData.length) + throw new ConcurrentModificationException(); + cursor = i + 1; + return (E) elementData[offset + (lastRet = i)]; + } + + public boolean hasPrevious() { + return cursor != 0; + } + + @SuppressWarnings("unchecked") + public E previous() { + checkForComodification(); + int i = cursor - 1; + if (i < 0) + throw new NoSuchElementException(); + Object[] elementData = Bar.this.elementData; + if (offset + i >= elementData.length) + throw new ConcurrentModificationException(); + cursor = i; + return (E) elementData[offset + (lastRet = i)]; + } + + public int nextIndex() { + return cursor; + } + + public int previousIndex() { + return cursor - 1; + } + + public void remove() { + if (lastRet < 0) + throw new IllegalStateException(); + checkForComodification(); + + try { + Bar.SubList.this.remove(lastRet); + cursor = lastRet; + lastRet = -1; + expectedModCount = Bar.this.modCount; + } catch (IndexOutOfBoundsException ex) { + throw new ConcurrentModificationException(); + } + } + + public void set(E e) { + if (lastRet < 0) + throw new IllegalStateException(); + checkForComodification(); + + try { + Bar.this.set(offset + lastRet, e); + } catch (IndexOutOfBoundsException ex) { + throw new ConcurrentModificationException(); + } + } + + public void add(E e) { + checkForComodification(); + + try { + int i = cursor; + Bar.SubList.this.add(i, e); + cursor = i + 1; + lastRet = -1; + expectedModCount = Bar.this.modCount; + } catch (IndexOutOfBoundsException ex) { + throw new ConcurrentModificationException(); + } + } + + final void checkForComodification() { + if (expectedModCount != Bar.this.modCount) + throw new ConcurrentModificationException(); + } + }; + } + + public List subList(int fromIndex, int toIndex) { + subListRangeCheck(fromIndex, toIndex, size); + return new SubList(this, offset, fromIndex, toIndex); + } + + private void rangeCheck(int index) { + if (index < 0 || index >= this.size) + throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); + } + + private void rangeCheckForAdd(int index) { + if (index < 0 || index > this.size) + throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); + } + + private String outOfBoundsMsg(int index) { + return "Index: "+index+", Size: "+this.size; + } + + private void checkForComodification() { + if (Bar.this.modCount != this.modCount) + throw new ConcurrentModificationException(); + } } } diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionOrderingTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionOrderingTest.groovy index 9f23ce123570..ca5c1f9e67fc 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionOrderingTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionOrderingTest.groovy @@ -1,18 +1,6 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.intellij.java.codeInsight.completion @@ -431,7 +419,7 @@ interface TxANotAnno {} } void testPreferClassToItsConstants() { - checkPreferredItems 0, 'Calendar.FIELD_COUNT', 'Calendar', 'Calendar.AM' + checkPreferredItems 0, 'MyCalendar.FIELD_COUNT', 'MyCalendar', 'MyCalendar.AM' } void testPreferLocalsToStaticsInSecondCompletion() { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/SmartTypeCompletionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/SmartTypeCompletionTest.java index 371a09178e1a..e5674acf5acc 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/SmartTypeCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/SmartTypeCompletionTest.java @@ -1,18 +1,6 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.intellij.java.codeInsight.completion; import com.intellij.JavaTestUtil; @@ -869,7 +857,7 @@ public class SmartTypeCompletionTest extends LightFixtureCompletionTestCase { assertStringItems("ElementType.ANNOTATION_TYPE", "ElementType.CONSTRUCTOR", "ElementType.FIELD", "ElementType.LOCAL_VARIABLE", "ElementType.METHOD", "ElementType.PACKAGE", "ElementType.PARAMETER", - "ElementType.TYPE", "ElementType.TYPE_PARAMETER", "ElementType.TYPE_USE"); + "ElementType.TYPE" /*, "ElementType.TYPE_PARAMETER", "ElementType.TYPE_USE"*/); } public void testAnnotation2() throws Exception { @@ -909,7 +897,7 @@ public class SmartTypeCompletionTest extends LightFixtureCompletionTestCase { assertStringItems("ElementType.ANNOTATION_TYPE", "ElementType.CONSTRUCTOR", "ElementType.FIELD", "ElementType.LOCAL_VARIABLE", "ElementType.METHOD", "ElementType.PACKAGE", "ElementType.PARAMETER", - "ElementType.TYPE", "ElementType.TYPE_PARAMETER", "ElementType.TYPE_USE"); + "ElementType.TYPE"/*, "ElementType.TYPE_PARAMETER", "ElementType.TYPE_USE"*/); } public void testArrayClone() throws Exception { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/bytecodeAnalysis/BytecodeAnalysisIntegrationTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/bytecodeAnalysis/BytecodeAnalysisIntegrationTest.java index 0c8623c68466..3c04427f3b12 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/bytecodeAnalysis/BytecodeAnalysisIntegrationTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/bytecodeAnalysis/BytecodeAnalysisIntegrationTest.java @@ -1,18 +1,6 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.intellij.java.codeInspection.bytecodeAnalysis; import com.intellij.codeInsight.AnnotationUtil; @@ -227,7 +215,7 @@ public class BytecodeAnalysisIntegrationTest extends JavaCodeInsightFixtureTestC String inferredNotNullMethodAnnotation = findInferredAnnotation(method, AnnotationUtil.NOT_NULL) == null ? "null" : "@NotNull"; if (!externalNotNullMethodAnnotation.equals(inferredNotNullMethodAnnotation)) { - myDiffs.add(methodKey + ": " + externalNotNullMethodAnnotation + " != " + inferredNotNullMethodAnnotation); + myDiffs.add(methodKey + ": " + externalNotNullMethodAnnotation + " != " + inferredNotNullMethodAnnotation + "\n"); } } @@ -237,7 +225,7 @@ public class BytecodeAnalysisIntegrationTest extends JavaCodeInsightFixtureTestC String inferredNullableMethodAnnotation = findInferredAnnotation(method, AnnotationUtil.NULLABLE) == null ? "null" : "@Nullable"; if (!externalNullableMethodAnnotation.equals(inferredNullableMethodAnnotation)) { - myDiffs.add(methodKey + ": " + externalNullableMethodAnnotation + " != " + inferredNullableMethodAnnotation); + myDiffs.add(methodKey + ": " + externalNullableMethodAnnotation + " != " + inferredNullableMethodAnnotation + "\n"); } } @@ -249,7 +237,7 @@ public class BytecodeAnalysisIntegrationTest extends JavaCodeInsightFixtureTestC String externalNotNull = findExternalAnnotation(parameter, AnnotationUtil.NOT_NULL) == null ? "null" : "@NotNull"; String inferredNotNull = findInferredAnnotation(parameter, AnnotationUtil.NOT_NULL) == null ? "null" : "@NotNull"; if (!externalNotNull.equals(inferredNotNull)) { - myDiffs.add(parameterKey + ": " + externalNotNull + " != " + inferredNotNull); + myDiffs.add(parameterKey + ": " + externalNotNull + " != " + inferredNotNull + "\n"); } } @@ -258,7 +246,7 @@ public class BytecodeAnalysisIntegrationTest extends JavaCodeInsightFixtureTestC String externalNullable = findExternalAnnotation(parameter, AnnotationUtil.NULLABLE) == null ? "null" : "@Nullable"; String inferredNullable = findInferredAnnotation(parameter, AnnotationUtil.NULLABLE) == null ? "null" : "@Nullable"; if (!externalNullable.equals(inferredNullable)) { - myDiffs.add(parameterKey + ": " + externalNullable + " != " + inferredNullable); + myDiffs.add(parameterKey + ": " + externalNullable + " != " + inferredNullable + "\n"); } } } @@ -273,7 +261,7 @@ public class BytecodeAnalysisIntegrationTest extends JavaCodeInsightFixtureTestC inferredContractAnnotation == null ? "null" : inferredContractAnnotation.getText(); if (!externalContractAnnotationText.equals(inferredContractAnnotationText)) { - myDiffs.add(methodKey + ": " + externalContractAnnotationText + " != " + inferredContractAnnotationText); + myDiffs.add(methodKey + ": " + externalContractAnnotationText + " != " + inferredContractAnnotationText + "\n"); } } diff --git a/java/java-tests/testSrc/com/intellij/projectView/JavaTreeStructureTest.java b/java/java-tests/testSrc/com/intellij/projectView/JavaTreeStructureTest.java index aadd412790d2..e688b030bbed 100644 --- a/java/java-tests/testSrc/com/intellij/projectView/JavaTreeStructureTest.java +++ b/java/java-tests/testSrc/com/intellij/projectView/JavaTreeStructureTest.java @@ -1,34 +1,6 @@ -/* - * Copyright (c) 2004 JetBrains s.r.o. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * -Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * -Redistribution in binary form must reproduct the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the distribution. - * - * Neither the name of JetBrains or IntelliJ IDEA - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any kind. ALL - * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING - * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE - * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. JETBRAINS AND ITS LICENSORS SHALL NOT - * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT - * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL JETBRAINS OR ITS LICENSORS BE LIABLE FOR ANY LOST - * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, - * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY - * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN - * IF JETBRAINS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - * - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.intellij.projectView; import com.intellij.JavaTestUtil; @@ -62,7 +34,7 @@ public class JavaTreeStructureTest extends TestSourceBasedTestCase { "-Class1.java\n" + " -Class1\n" + " getValue(): int\n" + - " getClass(): Class\n" + + " getClass(): Class\n" + " hashCode(): int\n" + " equals(Object): boolean\n" + " clone(): Object\n" + @@ -117,7 +89,7 @@ public class JavaTreeStructureTest extends TestSourceBasedTestCase { " +InnerClass1\n" + " +InnerClass2\n" + " getValue(): int\n" + - " getClass(): Class\n" + + " getClass(): Class\n" + " hashCode(): int\n" + " equals(Object): boolean\n" + " clone(): Object\n" + diff --git a/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/Test.items b/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/Test.items index af6da3191a83..cdade69942ce 100644 --- a/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/Test.items +++ b/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/Test.items @@ -6,4 +6,4 @@ Conversions: New expression type changes: Fails: -"" + String.valueOf(999)->void +"" + Integer.toString(999, 10)->void diff --git a/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/test.java b/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/test.java index 9a41034f67a0..4829e1d40fed 100644 --- a/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/test.java +++ b/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/after/test.java @@ -2,7 +2,7 @@ class Test { public void toVoidMethod() { int j = 0; - return "" + String.valueOf(999); + return "" + Integer.toString(999, 10); } public void main(String[] args) { diff --git a/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/before/test.java b/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/before/test.java index dc030e222267..1466dacf9a44 100644 --- a/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/before/test.java +++ b/java/typeMigration/testData/refactoring/typeMigration/methodMigrationToVoidWithUnusedReturns/before/test.java @@ -2,7 +2,7 @@ class Test { public String toVoidMethod() { int j = 0; - return "" + String.valueOf(999); + return "" + Integer.toString(999, 10); } public void main(String[] args) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/unnecessary_boxing/UnnecessarySuperfluousBoxing.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/unnecessary_boxing/UnnecessarySuperfluousBoxing.java index 2ee19c083003..1468fc2d06d2 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/unnecessary_boxing/UnnecessarySuperfluousBoxing.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/unnecessary_boxing/UnnecessarySuperfluousBoxing.java @@ -23,7 +23,7 @@ public class UnnecessarySuperfluousBoxing { } Integer foo2(String foo, int bar) { - return foo == null ? Integer.valueOf(0) : bar; + return foo == null ? Integer.valueOf(0) : bar; } void noUnboxing(Object val) { diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/classlayout/InterfaceMayBeAnnotatedFunctionalInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/classlayout/InterfaceMayBeAnnotatedFunctionalInspectionTest.java index e367b530d8ea..3c0c66a379c9 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/classlayout/InterfaceMayBeAnnotatedFunctionalInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/classlayout/InterfaceMayBeAnnotatedFunctionalInspectionTest.java @@ -1,22 +1,12 @@ -/* - * Copyright 2000-2014 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.siyeh.ig.classlayout; import com.intellij.codeInspection.InspectionProfileEntry; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.ig.LightInspectionTestCase; +import org.jetbrains.annotations.NotNull; /** * @author Bas Leijdekkers @@ -50,6 +40,12 @@ public class InterfaceMayBeAnnotatedFunctionalInspectionTest extends LightInspec "}"); } + @NotNull + @Override + protected LightProjectDescriptor getProjectDescriptor() { + return JAVA_8; + } + public void testAnnotationType() { doTest("@interface A {}"); } diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/UnnecessaryBoxingInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/UnnecessaryBoxingInspectionTest.java index ff0567d484f9..8681cc52a815 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/UnnecessaryBoxingInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/UnnecessaryBoxingInspectionTest.java @@ -1,3 +1,6 @@ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.siyeh.ig.migration; import com.intellij.codeInspection.InspectionProfileEntry; @@ -17,6 +20,10 @@ public class UnnecessaryBoxingInspectionTest extends LightInspectionTestCase { doTest(); } + Integer foo2(String foo, int bar) { + return foo == null ? 0 : bar; + } + @Nullable @Override protected InspectionProfileEntry getInspection() { diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/MissortedModifiersInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/MissortedModifiersInspectionTest.java index 2add51330fc9..d134cbd78fe2 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/MissortedModifiersInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/MissortedModifiersInspectionTest.java @@ -1,28 +1,23 @@ -/* - * Copyright 2000-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.siyeh.ig.style; import com.intellij.codeInspection.InspectionProfileEntry; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.ig.LightInspectionTestCase; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * @author Bas Leijdekkers */ public class MissortedModifiersInspectionTest extends LightInspectionTestCase { + @NotNull + @Override + protected LightProjectDescriptor getProjectDescriptor() { + return JAVA_8; + } public void testMissortedModifiers() { doTest(); diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/TypeParameterExtendsObjectInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/TypeParameterExtendsObjectInspectionTest.java index 5c64487d22a0..9cdd5f70cfd8 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/TypeParameterExtendsObjectInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/TypeParameterExtendsObjectInspectionTest.java @@ -1,23 +1,12 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.siyeh.ig.style; import com.intellij.codeInspection.InspectionProfileEntry; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.ig.LightInspectionTestCase; -import junit.framework.TestCase; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -25,6 +14,12 @@ import org.jetbrains.annotations.Nullable; */ public class TypeParameterExtendsObjectInspectionTest extends LightInspectionTestCase { + @NotNull + @Override + protected LightProjectDescriptor getProjectDescriptor() { + return JAVA_8; + } + public void testTypeParameterExtendsObject() { doTest(); } diff --git a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/interfacetoclass/ConvertInterfaceToClassTest.java b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/interfacetoclass/ConvertInterfaceToClassTest.java index d6523d9a4a5f..b6cea771e53c 100644 --- a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/interfacetoclass/ConvertInterfaceToClassTest.java +++ b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/interfacetoclass/ConvertInterfaceToClassTest.java @@ -1,23 +1,13 @@ -/* - * Copyright 2000-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. +// Use of this source code is governed by the Apache 2.0 license that can be +// found in the LICENSE file. package com.siyeh.ipp.interfacetoclass; import com.intellij.refactoring.BaseRefactoringProcessor; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.IntentionPowerPackBundle; import com.siyeh.ipp.IPPTestCase; +import org.jetbrains.annotations.NotNull; public class ConvertInterfaceToClassTest extends IPPTestCase { public void testBasic() { doTest(); } @@ -48,4 +38,10 @@ public class ConvertInterfaceToClassTest extends IPPTestCase { protected String getIntentionName() { return IntentionPowerPackBundle.message("convert.interface.to.class.intention.name"); } + + @NotNull + @Override + protected LightProjectDescriptor getProjectDescriptor() { + return JAVA_8; + } } diff --git a/plugins/devkit/testData/codeInsight/ExtensionsHighlighting.xml b/plugins/devkit/testData/codeInsight/ExtensionsHighlighting.xml index d1dbceafde60..9b8bc9a6c07a 100644 --- a/plugins/devkit/testData/codeInsight/ExtensionsHighlighting.xml +++ b/plugins/devkit/testData/codeInsight/ExtensionsHighlighting.xml @@ -11,7 +11,7 @@ <myPlugin.ext/> java.lang.Runnable"/> - java.util.concurrent.TimeUnit"/> + java.util.concurrent.TimeUnit"/> java.lang.String"/> <myPlugin.deprecatedEP implementation="foo.MyDeprecatedEPImpl"/>