mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
type migration: migrate field in case of migration to super type (IDEA-69760)
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
Types:
|
||||
PsiField:b : Test.A<java.lang.String>
|
||||
PsiLocalVariable:val : java.lang.String
|
||||
PsiReferenceExpression:b : Test.A<java.lang.String>
|
||||
PsiReferenceExpression:b.value : java.lang.String
|
||||
|
||||
Conversions:
|
||||
b.value -> $
|
||||
|
||||
New expression type changes:
|
||||
Fails:
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
public class Test {
|
||||
A<String> b;
|
||||
|
||||
class Base {
|
||||
|
||||
}
|
||||
|
||||
class A<T> extends Base {
|
||||
T value;
|
||||
}
|
||||
|
||||
class B<T> extends A<T> {}
|
||||
|
||||
void m() {
|
||||
String val = b.value;
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
public class Test {
|
||||
B<Long> b;
|
||||
|
||||
class Base {
|
||||
|
||||
}
|
||||
|
||||
class A<T> extends Base {
|
||||
T value;
|
||||
}
|
||||
|
||||
class B<T> extends A<T> {}
|
||||
|
||||
void m() {
|
||||
Long val = b.value;
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
Types:
|
||||
PsiField:b : Test.Base<java.lang.String>
|
||||
PsiLocalVariable:val : T
|
||||
PsiReferenceExpression:b : Test.Base<java.lang.String>
|
||||
|
||||
Conversions:
|
||||
|
||||
New expression type changes:
|
||||
Fails:
|
||||
b->Test.Base<java.lang.String>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
public class Test {
|
||||
Base<String> b;
|
||||
|
||||
class Base {
|
||||
|
||||
}
|
||||
|
||||
class A<T> extends Base {
|
||||
T value;
|
||||
}
|
||||
|
||||
class B<T> extends A<T> {}
|
||||
|
||||
void m() {
|
||||
T val = b.value;
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
public class Test {
|
||||
B<Long> b;
|
||||
|
||||
class Base {
|
||||
|
||||
}
|
||||
|
||||
class A<T> extends Base {
|
||||
T value;
|
||||
}
|
||||
|
||||
class B<T> extends A<T> {}
|
||||
|
||||
void m() {
|
||||
Long val = b.value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user