Nullability propagation with NotNull as default for type arguments
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
package test;
|
||||
|
||||
import java.util.List;
|
||||
import jet.runtime.typeinfo.KotlinSignature;
|
||||
|
||||
public interface PropagateTypeArgumentNullable {
|
||||
|
||||
public interface Super {
|
||||
|
||||
@KotlinSignature("fun outS(p : List<String?>)")
|
||||
void outS(List<String> p);
|
||||
|
||||
@KotlinSignature("fun invOutS(p : MutableList<List<String?>>)")
|
||||
void invOutS(List<List<String>> p);
|
||||
|
||||
@KotlinSignature("fun outOutS(p : List<List<String?>>)")
|
||||
void outOutS(List<List<String>> p);
|
||||
|
||||
@KotlinSignature("fun outR() : List<String?>")
|
||||
List<String> outR();
|
||||
|
||||
@KotlinSignature("fun invR() : MutableList<String?>")
|
||||
List<String> invR();
|
||||
|
||||
@KotlinSignature("fun invOutR() : MutableList<List<String?>>")
|
||||
List<List<String>> invOutR();
|
||||
}
|
||||
|
||||
public interface Sub extends Super {
|
||||
void outS(List<String> p);
|
||||
|
||||
void invOutS(List<List<String>> p);
|
||||
|
||||
void outOutS(List<List<String>> p);
|
||||
|
||||
List<String> outR();
|
||||
|
||||
List<String> invR();
|
||||
|
||||
List<List<String>> invOutR();
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package test
|
||||
|
||||
public trait PropagateTypeArgumentNullable: Object {
|
||||
|
||||
public trait Super: Object {
|
||||
public fun outS(p0: List<String?>)
|
||||
|
||||
public fun invOutS(p0 : MutableList<List<String?>>)
|
||||
|
||||
public fun outOutS(p0 : List<List<String?>>)
|
||||
|
||||
public fun outR() : List<String?>
|
||||
public fun invR() : MutableList<String?>
|
||||
public fun invOutR() : MutableList<List<String?>>
|
||||
|
||||
}
|
||||
|
||||
public trait Sub: Super {
|
||||
override fun outS(p0: List<String?>)
|
||||
|
||||
override fun invOutS(p0 : MutableList<List<String?>>)
|
||||
|
||||
override fun outOutS(p0 : List<List<String?>>)
|
||||
|
||||
override fun outR() : List<String?>
|
||||
override fun invR() : MutableList<String?>
|
||||
override fun invOutR() : MutableList<List<String?>>
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
namespace test
|
||||
|
||||
public abstract trait test.PropagateTypeArgumentNullable : java.lang.Object {
|
||||
public abstract trait test.PropagateTypeArgumentNullable.Sub : test.PropagateTypeArgumentNullable.Super {
|
||||
public abstract override /*1*/ fun invOutR(): jet.MutableList<jet.List<jet.String?>>
|
||||
public abstract override /*1*/ fun invOutS(/*0*/ p0: jet.MutableList<jet.List<jet.String?>>): jet.Tuple0
|
||||
public abstract override /*1*/ fun invR(): jet.MutableList<jet.String?>
|
||||
public abstract override /*1*/ fun outOutS(/*0*/ p0: jet.List<jet.List<jet.String?>>): jet.Tuple0
|
||||
public abstract override /*1*/ fun outR(): jet.List<jet.String?>
|
||||
public abstract override /*1*/ fun outS(/*0*/ p0: jet.List<jet.String?>): jet.Tuple0
|
||||
}
|
||||
public abstract trait test.PropagateTypeArgumentNullable.Super : java.lang.Object {
|
||||
public abstract fun invOutR(): jet.MutableList<jet.List<jet.String?>>
|
||||
public abstract fun invOutS(/*0*/ p0: jet.MutableList<jet.List<jet.String?>>): jet.Tuple0
|
||||
public abstract fun invR(): jet.MutableList<jet.String?>
|
||||
public abstract fun outOutS(/*0*/ p0: jet.List<jet.List<jet.String?>>): jet.Tuple0
|
||||
public abstract fun outR(): jet.List<jet.String?>
|
||||
public abstract fun outS(/*0*/ p0: jet.List<jet.String?>): jet.Tuple0
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user