Hi Ethan,

Thanks for your feedback!  I’ve created JBS issue 
https://bugs.openjdk.org/browse/JDK-8370687 to track improving this error 
message.

Lois



Confidential – Oracle Internal
From: valhalla-dev <[email protected]> on behalf of Ethan McCue 
<[email protected]>
Date: Saturday, October 25, 2025 at 11:13 PM
To: [email protected] <[email protected]>
Subject: Calling instance method from value class constructor is a little 
confusing
Just a note from playing with the EA build. Minimal example:

import java.util.ArrayList;

value class HittableList2 {
    private final ArrayList<Object> objects
            = new ArrayList<>();

    HittableList2() {}

    HittableList2(Object object) {
        add(object);
    }

    void add(Object object) {
        objects.add(object);
    }
}

This gives the error

/Users/emccue/Development/raytracer/src/HittableList2.java:10: error: cannot 
reference add(Object) before constructor has been called
        add(object);
        ^

I know this means the superclass's constructor (and that I need to put an 
explicit super() at the top of the method), but reading that straight "cannot 
reference ... before constructor has been called - I'm in the constructor!"

Reply via email to