Skip to content

Commit 8fd4cc9

Browse files
committed
Add support for Java fields
1 parent c19b1f9 commit 8fd4cc9

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

compiler/src/dotty/tools/dotc/typer/Typer.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3688,7 +3688,7 @@ class Typer extends Namer
36883688
// if unsafeNulls is enabled, try to strip nulls from Java function calls
36893689
if Nullables.unsafeNullsEnabled then
36903690
tree match
3691-
case _: Apply if tree.symbol.is(JavaDefined) =>
3691+
case _: Apply | _: Select if tree.symbol.is(JavaDefined) =>
36923692
wtp match
36933693
case OrNull(wtp1) => return readapt(tree.cast(wtp1))
36943694
case _ =>

tests/explicit-nulls/unsafe-common/unsafe-java-call/J.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,8 @@ public int f2() {
1010
public <T> T g1() {
1111
return null;
1212
}
13+
}
14+
15+
class J2<T> {
16+
public T x = null;
1317
}

tests/explicit-nulls/unsafe-common/unsafe-java-call/S.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,8 @@ def clo1[T]: T = j.g1[T]() // error
3030

3131
def clo2[T <: AnyRef]: T = j.g1[T | Null]() // error
3232

33-
def clo3[T >: Null <: AnyRef | Null]: T = j.g1[T]()
33+
def clo3[T >: Null <: AnyRef | Null]: T = j.g1[T]()
34+
35+
def testJ2[T]: T =
36+
val j2: J2[T] = new J2
37+
j2.x // error

0 commit comments

Comments
 (0)