mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
method chain: capture wildcard on wildcard bounds
This commit is contained in:
@@ -136,7 +136,7 @@ public class PsiScopesUtil {
|
||||
final PsiType upperBound =
|
||||
PsiClassImplUtil.correctType(((PsiCapturedWildcardType)type).getUpperBound(), place.getResolveScope());
|
||||
if (upperBound != null) {
|
||||
processTypeDeclarations(upperBound, place, processor);
|
||||
processTypeDeclarations(PsiUtil.captureToplevelWildcards(upperBound, place), place, processor);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -368,7 +368,7 @@ public class PsiScopesUtil {
|
||||
final PsiType upperBound =
|
||||
PsiClassImplUtil.correctType(((PsiCapturedWildcardType)type).getUpperBound(), methodCall.getResolveScope());
|
||||
if (upperBound != null) {
|
||||
processQualifierType(upperBound, processor, manager, methodCall);
|
||||
processQualifierType(PsiUtil.captureToplevelWildcards(upperBound, methodCall), processor, manager, methodCall);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
class TableModelBuilder<Self extends TableModelBuilder<?>> {
|
||||
public Self addColumns() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Self addAndGet() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void leave() {}
|
||||
|
||||
void foo(TableModelBuilder<?> m) {
|
||||
m.addColumns().addAndGet() .leave();
|
||||
}
|
||||
}
|
||||
@@ -970,4 +970,8 @@ public class GenericsHighlighting8Test extends LightDaemonAnalyzerTestCase {
|
||||
public void testCapturedWildcardPackageLocalAccess() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testCapturedWildcardPassedThroughMethodCallChain() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user