So I'm staring at the equals() method that's been generated for me from a
datatype

    private java.lang.Object __equalsCalc = null;

    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof JobInfo)) return false;
        JobInfo other = (JobInfo) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        ...tests
        __equalsCalc = null;
        return _equals;


My q. is: what is all this __equalsCalc stuff? It implies that if there is a
reentrant equality test then the test would return true while the test is
ongoing, but since the method is synchronized, you'd be hard pressed to call
equals() twice.

Is that what the __equalsCalc is there for? To catch recursion?

-steve

Reply via email to