diff --git a/core/util.runtime/src/org/jetbrains/jet/storage/NullableLazyValueImpl.java b/core/util.runtime/src/org/jetbrains/jet/storage/NullableLazyValueImpl.java index 3a26dec4687..96dda43ea90 100644 --- a/core/util.runtime/src/org/jetbrains/jet/storage/NullableLazyValueImpl.java +++ b/core/util.runtime/src/org/jetbrains/jet/storage/NullableLazyValueImpl.java @@ -17,20 +17,20 @@ package org.jetbrains.jet.storage; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.storage.NullableLazyValue; -import org.jetbrains.jet.utils.WrappedValues; public abstract class NullableLazyValueImpl implements NullableLazyValue { + private static final Object NOT_COMPUTED = new Object(); + @Nullable - private Object value = null; + private Object value = NOT_COMPUTED; @Override public T compute() { Object _value = value; - if (_value != null) return WrappedValues.unescapeNull(_value); + if (_value != NOT_COMPUTED) return (T) _value; T typedValue = doCompute(); - value = WrappedValues.escapeNull(typedValue); + value = typedValue; postCompute(typedValue);