File tree 3 files changed +2
-12
lines changed
compiler/src/dotty/tools/dotc/core
tests/explicit-nulls/flexible-unpickle
3 files changed +2
-12
lines changed Original file line number Diff line number Diff line change @@ -58,9 +58,8 @@ object JavaNullInterop {
58
58
// assert(sym.is(JavaDefined), "can only nullify java-defined members")
59
59
60
60
// Some special cases when nullifying the type
61
- if isEnumValueDef || sym.name == nme.TYPE_ // Don't nullify the `TYPE` field in every class and Java enum instances
62
- || sym.is(Flags .ModuleVal ) // Don't nullify Modules
63
- then
61
+ if isEnumValueDef || sym.name == nme.TYPE_ then
62
+ // Don't nullify the `TYPE` field in every class and Java enum instances
64
63
tp
65
64
else if sym.name == nme.toString_ || sym.isConstructor || hasNotNullAnnot(sym) then
66
65
// Don't nullify the return type of the `toString` method.
Original file line number Diff line number Diff line change 1
- import unsafeNulls .Foo .*
2
- import unsafeNulls .Unsafe_1
3
-
4
1
@ main
5
2
def Flexible_2 () =
6
3
val s2 : String | Null = " foo"
Original file line number Diff line number Diff line change 1
- package unsafeNulls
2
-
3
1
class Unsafe_1 {
4
2
def foo (s : String ): String = {
5
3
if (s == null ) then " nullString"
6
4
else s
7
5
}
8
6
}
9
-
10
- object Foo {
11
- def bar = " bar!"
12
- }
You can’t perform that action at this time.
0 commit comments