value property
Object?
get
value
Gets the value of the late variable, initializing it if necessary
Implementation
Object? get value {
if (!_isInitialized) {
if (_initializer != null) {
// Lazy initialization
_value = _initializer();
_isInitialized = true;
Logger.debug(
"[LateVariable] Lazy initialized '$_name' with value: $_value");
} else {
// Late variable without initializer accessed before assignment
throw LateInitializationError(
"LateInitializationError: Late variable '$_name' without initializer is accessed before being assigned.");
}
}
return _value;
}
set
value
(Object? newValue)
Set the value
Implementation
set value(Object? newValue) {
if (_isInitialized && _isFinal) {
throw LateInitializationError(
"LateInitializationError: Field '$_name' has already been initialized.");
}
_value = newValue;
_isInitialized = true;
}